ARM 的嵌入式Linux 移植体验之操作系统 在笔者撰写的《 C 语言嵌入式系统编程修炼之道 》一文中,主要陈诉的软件架构是单任务无操作系统平台的,而本文的侧重点则在于讲述操作系统嵌入的软件架构,二者的区别如下图: 嵌入式操作系统并不总是必须的,因为程序完全可以在裸板上运行
尽管如此,但对于复杂的系统,为使其具有任务管理、定时器管理、存储器管理、资源管理、事件管理、系统管理、消息管理、队列管理和中断处理的能力,提供多任务处理,更好的分配系统资源的功能,很有必要针对特定的 硬件 平台和实际应用移植操作系统
鉴于Linux 的源代码开放性,它成为嵌入式操作系统领域的很好选择
国内外许多知名大学、公司、研究机构都加入了嵌入式Linux 的研究行列,推出了一些著名的版本: ·RT-Linux 提供了一个精巧的实时内核,把标准的Linux 核心作为实时核心的一个进程同用户的实时进程一起调度
RT-Linux 已成功地应用于航天飞机的空间数据采集、科学仪器测控和电影特技图像处理等广泛的应用领域
如NASA(美国国家宇航局)将装有RT-Linux 的设备放在飞机上,以测量 Georage 咫风的风速; ·uCLinux(Micro-Control-Linux,u 表示 Micro,C 表示 Control)去掉了 MMU(内存管理)功能,应用于没有虚拟内存管理的微处理器/微控制器,它已经被成功地移植到了很多平台上
本章涉及的mizi-linux 由韩国 mizi 公司根据 Linux 2
4 内核移植而来,支持S3C2410A处理器
Linux 内核要点 和其他操作系统一样,Linux 包含进程调度与进程间通信(IPC)、内存管理(MMU)、虚拟文件系统(VFS)、网络接口等,下图给出了 Linux 的组成及其关系: Linux 内核源代码包括多个目录: (1)arch:包括硬