1.5 操作系统的结构设计
OS的结构经历了四代变革:
微内核OS结构——现代OS结构
微内核结构能有效地支持多处理机运行,故非常使用于分布式系统环境。
Windows NT采用微内核结构
在与微内核技术发展的同时,客户/服务器技术、面向对象技术也在迅速发展,把它们应用到基于微内核结构的OS中,便具有了以微内核为OS核心,以客户/服务器为基础,并且采用了面向对象的程序设计方法的特征。
微内核技术
微内核技术——是指精心设计的、能实现现代OS核心功能的小型内核。
OS的变庞大,使对OS的开发、维护和移植变得十分困难。
为了减少OS的复杂性,增加OS的可扩展性和可维护性而产生了微内核技术。
- 微内核操作系统的基本概念
1)足够小的内核
微内核是指精心设计的、能实现现代OS最基本的核心功能的部分。
2)基于客户/服务器模式
把OS的最基本部分放在内核中,把OS的绝大部分功能放在内核外面的一组服务器(进程)中实现
3)应用“机制与策略分离”原理
- 所谓机制,是指实现某一功能的具体执行机构。
- 策略是在机制基础上,借助于某些参数和算法来实现该功能的优化,或达到不同的功能目标。
- 机制处于系统的低层,而策略处于系统的高层。
- 传统OS将机制放在内核低层,策略放在内核高层。
- 微内核OS将机制放在微内核中,策略放在微内核外。
4)采用面向对象技术
2. 微内核的基本功能
1)进程(线程)管理
进程队列属于调度功能的机制部分,放在微内核中;确定、修改优先级,属于策略问题,放在进程管理服务器中。
进程(线程)通信、进程切换、线程调度、多处理机之间的同步等功能也放在微内核中。
2)低级存储管理
页表机制和地址变换机制在微内核中;实现虚存的策略,包括页面置换算法、内存分配回收策略等放在存储器服务器中
3)中断和陷入处理
大多数微内核操作系统都将与硬件紧密相关的一小部分放入微内核中处理。此时,微内核的主要功能,是捕获所发生的中断和陷入事件,并进行相应的前期处理。如进行中断现场保护,识别中断或陷入类型,然后将有关事件的信息转换成消息后,发送给相应的服务器作中断后期处理。
- 微内核的优点
1)提高了系统的可扩展性
2)增强了系统的可靠性
3)可移植性
4)提供了对分布式系统的支持
5)融入了面向对象技术
4. 微内核操作系统存在的问题
微内核OS的运行效率有所降低。
原因是:在完成一次客户对OS提出的服务请求时,需要利用消息实现多次交互和进行用户/内核模式及上下文的多次切换。
解决的办法:
重新将一些常用的操作系统基本功能,有服务器移入微内核中。