Embedded 版 (精华区)

发信人: he (无情的雨), 信区: Embeded_system
标  题: 嵌入式系统以及如何构造一个嵌入式系统概览-5(转载)
发信站: 哈工大紫丁香 (2001年05月16日13:34:08 星期三), 转信

无虚拟内存交换

另外一个Linux的特性就是虚拟内存交换。这一特性将应用程序的编写引入歧途,应用程
序的内存需求量可以无限制地上升,因为操作系统在磁盘中提供了交换空间。而在一个
无盘的嵌入式系统中,这种特性就用不上了。

如此强大的功能,在嵌入式系统中竟无用武之地。事实上,在一个严格的实时系统中你
可能并不需要这种特性,因为它会导致定时功能的失控。如同其它的嵌入式系统一样,
软件的设计必须很紧凑,以适应较小的物理内存。

注意,这取决于你的CPU体系,比较明智的做法是保留Linux的这段代码,毕竟,砍掉这
些代码,还是要付出一些工作量的。但是,这些代码依然有保留的理由。因为它们能够
支持代码共享,多个进程可以共享某一软件的同一拷贝。如果无此功能,那么,每一个
程序都必须拥有库程序的独立拷贝,例如:printf 。

将交换空间大小简单地置为零,就可以关掉系统虚拟内存的分页交换机制了。当你的程
序要求内存大于实际的内存时,系统的表现就如同交换空间溢出时一样:你的程序不会
被加载,或者,当要求过多内存时,malloc 调用失败。

在许多的CPU体系中,虚存机制提供的内存管理可使进程的地址空间相互隔离。一般在嵌
入式系统中不是这样,地址空间是简单的,平坦的情况。Linux的虚存机制使出错的进程
不致影响整个系统。在许多嵌入式系统中,因为效率原因而设置的全局数据,同时被几
个进程所共享,这在Linux中也存在,那就是内存共享,它可以经过设置,使某一段内存
成为共享内存。

文件系统

许多嵌入式系统不存在一个磁盘或者一个文件系统。没有它们中的任何一个,Linux也可
以运行。正如前面提到的那样,应用任务可以随同内核一起被编译并在启动时作为一个映
像被加载.对简单系统来说,这已经胜任.不过,它却缺少前面描述到的各种灵活性.
事实上,如果你观察过许多商业性嵌入式系统,你会发现他们把文件系统作为可选项来提
供.大部分要么是一个私人拥有的(专门)文件系统,要么是一个与MS-DOS兼容的文件系统

.Linux不但支持许多其它文件系统也支持MS-DOS兼容的文件系统,通常推荐使用除MS-DO
S兼容文件系统以外的其它文件系统,因为它们有较优的健壮性和容错性.Linux也有检查
和修复工具(不过商业卖主一般不提供),这对从网络上进行更新的闪存系统尤为重要.如
果系统在升级中断电,可能导致系统无法再用.一个修复工具通常可以排解此类问题.

文件系统可以放在一个传统磁盘驱动中,或闪存中,或任何可用的其它介质中.同样,一个
小的RAM disk常常可以很好地存放暂时性文件(易失性文件).闪存被分隔成很多小块(并
被组织起来).它们中可能有一个引导块,它存放了CPU上电后运行的第一个软件.可能存放
的就是Linux的引导程序.余下的闪存块可以被用作文件系统.Linux的内核可以被引导程
序从闪存中拷贝到RAM中;或者,作为另一种选择,可以把内核放在闪存的一个独立区中并
从那里直接运行.

对一些系统来说,另一可行的选择是包含一个廉价的CD-ROM驱动.它可能比闪存还要便宜
.并且借助更换CD-ROM盘片就可很容易地得到升级.通过这种方法,Linux只需从CD-ROM启
动并可以像对一个硬盘那样从该CD-ROM中获得所有用到的程序.

最后,对于网络上的嵌入式系统(有网络支持的嵌入式系统),Linux支持NFS(Network Fil
e System).这一着打开了在一个网络支持系统中实现各种增值特征的通道.首先它允许通
过网络加载各种应用程序.由于用在每一个嵌入式系统上的软件可以从一个公用的服务器
上加载,这在控制软件的修订或升级中是很重要的.在系统运行的过程中,导入和导出数据
,配置,状态信息的一个备份也很有用.对用户监控而言,这是一个非常强大的特征;举例来
说,一个嵌入式系统可能装配了一个RAM disk,它包含着与系统当前状态的更新维持一致
的(状态)文件.那么别的嵌入式系统仅需通过网络把这个RAM disk作为远程磁盘mount过
来便可以访问那些位于远端RAM disk中的状态文件.这也允许在另一台机器上的WEB服务
器借助简单的CGI脚本来访问那些状态信息.运行在其他机器上的应用程序包能够很容易
地访问这些数据.对更复杂的监控,像MatLab(http://www.mathworks.com/products/mat
lab/)这样的一个应用程序包能很容易地用图形化来显示在一个系统操作者的PC或工作站
上的系统操作。

--

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.235.250]
--
※ 修改:·he 於 05月16日13:43:05  修改本文·[FROM: 202.118.235.250]
※ 转载:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: 202.118.235.250]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:7.398毫秒