一,文章介绍
二,内核与操作系统的关系
三,微内核核心思想
四,各种内核的优缺特点以及上下代之间演变的过程
一,文章介绍
文章主要介绍各种微内核以及它在操作系统中的演变
二,内核与操作系统的关系
内核,是一个操作系统的核心。 是基于硬件的第一层软件扩充,提供操作系统的最基本的功能,是操作系统工作的基础,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。 而操作系统一般包括内核、驱动程序、接口库、外围等组成部分,内核也只是操作系统其中一个重要的组成部分。
三,微内核核心思想
真正的微内核思想要求提高模块化和服务分离,根本上要求降低上下文切换的成本,而不是上下文切换的数量。
四,各种内核的优缺特点以及上下代之间演变的过程
PC 4000 Nucleus
它是PerBrinch Hansen 在1970年首次提出。它只处理支持进程抽象和进程间的通信。随着操作系统的庞大,额外的特性可以通过操作系统进程在核心之外实现。这样就可以追溯到父进程和子进程,父进程可以启动和停止子进程以及创建和删除他们,这也给程序交换和加载提供了一种机制。这也使得进程调度的发生与这一层次没有关系。该操作系统,首次尝试将操作系统设计成可以通过消息传递进行 内核模块间通信的思想,主要关注的是进程通信和并行控制。
StarOS
出现在1977年。该系统采用Cm*多处理器由10个集群中的50个处理器组成,通过集群间总线连接。操作系统分布在几个处理器上,每个处理器运行一个核心和组成操作系统的模块和一些子集,具有分布式容错机制。这也就体现了微内核核心思想的模块化。StarOS中的内核设计是受两个因素的驱动:并行机设计。核心思想是:将产品开发过程尽可能细地划分为一系列串联工作步骤,由不同的工程技术人员承担,依次执行,因此,其实质上是“串行工程”。这意味着操作系统可以同时执行多个服务,这也激发了服务的模块化分解。
CHORUS
CHORUS于1980年开始于法国国家信息与自动化研究所,是一个分布式系统,把unix系统服务做为微内核的服务组件运行,提供中断处理、调度、虚拟机管理、IPC等功能。最后被Sun收购,是最早考虑把微内核用在分布式网络的操作系统。
SPIN
它是1994年华盛顿大学提出的。他认为应用程序到内核,内核到服务器,服务器回到内核,最后回到应用程序,这一种应用程序与内核通信的模型最低效,这一问题在Mach中得到解决。SPIN的解决方法是将一部分服务放到应用中,一部分服务放到内核。SPIN确实强调了微内核系统中保护和模块化的好处与这种松散组件耦合的效率之间固有的张力。
Exokernel
Exokernel是MIT 1995年提出,提出了把操作系统当成库函数,与应用放到一起运行的思想。把传统的单体内核分为两部分,一部分以库操作系统的形式与应用程序紧耦合以实现传统的操作系统抽象,并进行面向应用的裁剪与优化;另外一部分(即外核)仅专注在最基本的安全复用物理硬件的机制上,给库操作系统提供基本的硬件访问服务。这样的设计思路可以针对应用程序的特征定制 库操作系统 ,达到高性能的目标。
L4
出现于1995年,来自德国国家信息技术研究中心。和exkemel一样通过简化微内核提供的接口来解决性能问题。它提供了对地址空间的三种操作grant,map,unmap。还提供了一种进程同步的手段,引入了进程之间潜在的不良依赖关系。
QNX
创建于1981年,是一款商业微内核实时操作系统,除了提供进程间通信,进程调度,中断调度。还提供网络通信,允许实现网络透明的IPC,这允许系统的所有级别的网络透明。