首页 > 汽车技术 > 正文

3. 微内核架构

2022-09-25 17:43:23·  来源:汽车测试网  
 
从功能服务的角度看,微内核(Microkernel)操作系统和宏内核系统并无本质差异,只是采用了不同的内核架构设计思路。由于宏内核架构系统将所有的服务都运行在内

从功能服务的角度看,微内核(Microkernel)操作系统和宏内核系统并无本质差异,只是采用了不同的内核架构设计思路。由于宏内核架构系统将所有的服务都运行在内核态,任何一个模块出现错误或者被攻击就有可能引发内核的崩溃,从而影响到整个系统的稳定性。而且随着内核代码量越来越大,这种概率还会提高。为了保证内核的稳定性,微内核架构主张将宏内核的功能进行解耦,将某些功能从内核中剥离出来作为独立服务,并挪到用户态去运行(比如文件系统、设备驱动)。内核为这些剥离到用户态的服务提供各种通信机制,以保证这些服务能够相互协作,这样即使单个服务出错或者被攻破也不会导致内核崩溃或者出现系统安全问题。


微内核的最小内核设计原则主张保留尽量少的功能在内核态运行(如进程调度、内存管理、进程间通信等)。微内核架构设计同时还主张机制与策略分离的原则,尽量将策略配置管理功能剥离到用户态,将实现机制保留在内核态运行,这样可以根据应用场景适配不同的内核服务实现机制。微内核的这两个设 计理念不仅提高了安全性,而且由于内核功能相对简单,其内核服务的时延相对比较容易控制和估算, 也有利用于硬实时系统的调度实现。


不过由于第一代微内核系统代表 Mach 采用了一种过于通用的进程间通信 IPC(Inter-Process Communication)设计方案,加上自身资源(内存、CPU 缓存)占用过大等问题,导致其性能受到很大影响, 与同期的宏内核系统相比有明显差距。但后续有文献分析表明,“高性能的 IPC 的设计与实现必然是与体系结构相关的,过度抽象将极大影响 IPC 的性能,而利用体系结构相关的状态进行优化则可将 IPC 性能提升到极致” 。经过改进和优化,第二代微内核系统代表 SeL4 在采用了最小化设计原则的情况下,也达到了与同时期宏内核系统同样的效率水平。此外,SeL4 系统还通过了形式化验证。


目前微内核架构系统在汽车、工业等高实时、高可靠和高安全领域得到了广泛应用,并有商用化产品(如 QNX)通过了汽车行业的 ASIL-D 功能安全认证。

分享到:
 
反对 0 举报 0 收藏 0 评论 0
沪ICP备11026917号-25