嵌入式开发中操作系统并不总是必须的,因为程序完全可以在裸板上运行。尽管如此,但对于复杂的系统,为使其具有任务管理、定时器管理、存储器管理、资源管理、事件管理、消息管理、队列管理和中断处理的能力,提供多任务处理,更好地分配系统资源的功能,很有必要针对特定的硬件平台和实际应用移植操作系统。Linux操作系统是一种性能优良、源码公开且被广泛应用的免费操作系统,由于其体积小、可裁减、运行速度高、良好的网络性能等优点,可以作为嵌入式操作系统。
Linux内核主要由5个模块组成,它们分别是进程调度模块、内存管理模块、文件系统模块、进程间通信模块和网络接口模块。进程调度模块用来负责控制进程对CPU资源的使用。所采取的调度策略是各进程能够公平合理的访问CPU,同时保证内核能及时地执行硬件操作内存管理模块用于确保所有进程能够安全地共享主机内存区,同时内存管理模块还支持虚拟内存管理方式,使得Linux支持进程使用比实际内存空间更多的内存容量,并可以利用文件系统把暂时不用的内存数据块交换到外部存储设备上,当需要时再交换回来文件系统模块用于支持对外部设备的驱动和存储。虚拟文件系统模块通过向所有的外部存储设备提供一个通用的文件接口,隐藏了各种硬件设备的不同细节,从而提供并支第章内核的研究与移植持与其他操作系统兼容的多种文件系统格式进程间通信模块子系统用于支持多种进程间的信息交换方式网络接口模块提供对多种网络通信标准的访问并支持许多网络硬件。模块的内核结构方框图如图4.1所示
参考: