电子说
微内核(Micro kernel)是提供操作系统核心功能的内核的精简版本,它设计成在很小的内存空间内增加移植性,提供模块化设计,以使用户安装不同的接口,如DOS、Workplace OS、Workplace UNIX等。IBM、Microsoft、开放软件基金会(OSF)和UNIX系统实验室(USL)等新操作系统都采用了这一研究成果的优点。
一、优点
系统服务模块化,可移植性高;
内核安全性提高(模块内部的 Bug 不影响内核稳定,将黑客利用软件漏洞造成的破坏限制在单个模块内部);
可以多套系统服务共存,相当于同时运行多种操作系统;
稳定统一的接口(可以独立维护私有驱动以及服务,不需要跟内核源码绑定);
在商业上,微内核可以避免代码受到一些开源协议的影响,比如 GPL 协议;
内核精简,可以进行形式化验证,利用数学证明内核的安全性;
数学可证明的实时性;
非常适合多处理器系统设计,在多处理器核心计算机上,互相依赖的系统服务可以同时运行;
二、缺点
通过进程通信的方式交换数据或者调用系统服务,而不是使用系统调用,造成额外的操作系统开销;
使用一些频繁使用的系统服务时,比如网络收发数据,造成的进程上下文切换对操作系统来说也是一个负担;
由于系统服务高度模块化,系统服务之间存在大量的内存复制;
对互相之间存在复杂调用关系的系统服务,难以设计通信接口;
系统服务与内核在地址空间上分离,造成代码局部性差,降低了 cache 命中率。
全部0条评论
快来发表一下你的评论吧 !