论文部分内容阅读
随着嵌入式行业的飞速发展,嵌入式设备中的操作系统的性能也越来越受到重视。可靠性、实时性及安全性是嵌入式系统最需要的性能,但传统的单内核操作系统在这些方面远不如微内核操作系统有优势。以L4为代表的第二代微内核操作系统在解决了IPC的性能问题后,很好地适应了嵌入式设备的需求,但微内核操作系统目前尚不支持多核处理器架构,然而,现实却是多核处理器架构在嵌入式领域的普及已经成为一种趋势。本文的出发点正是在L4微内核操作系统的基础上,采用改进和扩展的方式,设计一个适用于多核嵌入式平台的微内核操作系统,以促进多核处理器架构在嵌入式领域的深入应用。针对嵌入式系统的特点,本文提出将分离模型的概念应用到整体设计,也即在每个处理器内核上运行一个操作系统内核,多个操作系统内核之间通过一定机制同步。在内存管理方面,本设计允许同一个任务的多个线程同时运行在多个处理器内核上,也即地址空间的覆盖域可以跨核,但对于保存地址空间映射关系的MapDB,只有一个实例并被所有的操作系统内核共享。在线程调度机制上,本设计允许处理器核心内部的细粒度调度,并提供线程迁移的机制来实现多核间的调度。在线程间通信方面,本文设计了一个邮箱系统作为多核间的IPC机制,并通过代理线程的方式实现透明的调用。对于微内核之上运行的服务应用程序,本设计提供独立模式、主从模式和分布式模式三种选择。本文完成的基于多核处理器架构的微内核操作系统设计非常适用于嵌入式环境。设计中使用的邮箱系统充分利用了多核处理器架构共享L2 Cache的特点,性能分析证明本设计能提高跨核IPC的速度,进而提高整个系统的性能。将分离模型应用到多核系统的整体设计思路,使得本设计的操作系统在嵌入式平台的可靠性、实时性和安全性方面有很多应用场景。本文的设计不仅应用于与Intel公司合作的基于微内核的虚拟化技术研究项目中(Intel大学合作项目),也为其它微内核操作系统设计提供了参考。