| |
L inux 的运行开销, 包括静态映像体积, 动态运行的内存
和CPU 等的开销. 由于嵌入式系统的资源比桌面系统少, 所
以必须先对L inux 进行裁剪, 控制开销, 才能使之能够运行嵌
入式应用的硬件平台之上. 静态映像主要由L inux 系统内核,
应用程序, 应用库等的二进制映像组成; 动态运行的内存开销
和CPU 开销主要与L inux 实现有关, 需要针对嵌入式系统应
用的特点进行优化.
因为嵌入式系统应用非常专业化, 所以功能比较单一, 对
操作系统支持的需求比桌面系统简单. 这为控制嵌入式L in2
ux 的系统开销提供了改进的空间. 桌面系统的L inux 是一个
通用的操作系统, 除了微内核的进程管理、内存管理、系统调
用等核心部分外, 还提供了多种文件系统、网络、硬件驱动、内
核调试等功能模块. 它们既可以直接编译入内核, 也可以通过
模块(Module) 方式动态加载. 即便对于桌面系统这些功能模
块也不是全部需要的. 具体的嵌入式系统应用需要的功能模
块就更加单一. 例如手持移动终端通常不需要Do s,N TFS 等
文件系统, 也不需要RA ID 和SCS I 设备支持和网络服务支
持. 总之, 根据嵌入式系统应用的具体需求配置L inux 内核才
能减小L inux 内核的静态映像体积. 同时, 也能够相应削减这
些功能模块运行的开销.
除了根据需要配置L inux 内核, 我们还可以针对嵌入式
应用的特点对L inux 实现进行修改, 从更低层次使L inux 适
应嵌入式系统应用. 桌面L inux 系统设计的目标是在内外存
丰富的条件下运行多任务, 并能满足各种应用对运行性能的
要求. 但是绝大多数嵌入式系统应用的运行情况单一, 桌面系
统中一些为了提高运行性能采取的措施在嵌入式系统应用中
可能失去作用, 甚至成为负担. L inux 为了充分利用处理器资
源在内存管理, 虚拟文件系统, 网络支持等方面使用了许多缓
存和预分配机制, 利用存储空间换取处理速度. 而在内存资源
紧张的嵌入式系统中, 使用这些消耗大量内存资源的机制需
要非常谨慎.