Mach、L4、seL4三代微内核操作系统IPC机制比较
微内核操作系统发展历史
操作系统微内核技术起始于20世纪80年代,起初被设计用来解决传统一体化操作系统在可维护性、扩展性、可靠性和稳定性方面的诸多问题。 但是伴随着微内核思想的进一步发展,最终形成一整套操作系统设计的核心理念,即操作系统微内核仅提供最简单、基本的服务,如通信功能,而操作系统的普通服务,如文件管理、设备管理、网络管理等则在微内核以外提供。
第一代微内核操作系统
以Mach为代表,Mach微内核操作系统就是试图从架构上重构unix系统但是仍然能够维持原有系统功能的一次尝试。为此,Mach微内核发展出了 一系列概念用于支撑该项目,其中较突出的有核外页管理器和用户空间设备驱动。
第二代微内核操作系统
以L4为代表,第一代微内核从概念上验证了 微内核技术的可行性,但是因为性能上的原因,并未在产业界引起大规模推广,相关研究不断出现。鉴于第一代微内核在性能上的劣势,德国计算机科学家JochenLiedtke开始设计高性能的第二代微内核L4。相对于第一代微内核,第二代微内核不再是传统unix操作系统的简单重构,而是一种全新的设计。 L4微内核高性能的关键就是使用了 同步IPC技术, 并且使用寄存器传递消息, 而不是内存拷贝。
第三代微内核操作系统
以seL4为代表,第三代微内核即引入了 capability机制加强微内核的安性。任何操作系统内核对象,比如线程、中断、 内存等, 都不能直接进行操作, 而是通过一种类似对象引用的机制即capability机制进行调用。
总结
微内核技术从第一代已经发展到了 第三代,