APP下载

关于微内核OS结构的分析

2021-05-10张菡

科学与财富 2021年36期
关键词:面向对象服务器客户

张菡

摘  要:微内核操作系统结构能有效支持多处理机运行,非常适用于分布式系统环境,本文主要介绍了微内核操作系统的基本概念,重点分析了微内核操作系统主要功能、优点以及存在的问题。

关键词:微内核;面向对象;客户/服务器;机制与策略分离

一、微内核操作系统的基本概念

在进行现代操作系统结构设计时,即使在单计算机环境下,大多也采用基于客户/服务器模式的微内核结构,将操作系统分为两大部分:微内核和多个服务器。至于什么是微内核操作系统结构,尚无一致公认的定义,但可以从以下四个方面对微内核结构OS进行描述。

1. 足够小的内核

微内核并非是一个完整的OS,而只是将OS中最基本的部分放入微内核,通常包含:与硬件处理紧密相关的部分;一些较基本的功能;客户和服务器之间的通信。

2. 基于客户/服务器模式

由于客户/服务器模式有非常多的优点,故在单机微内核OS中无一例外都采用客户/服务器模式,将操作系统中最基本的部分放入内核中,把操作系统的绝大部分功能都放在微内核外面的服务器中实现。

3. 应用“机制与策略分离”原理

在OS机构设计中,经常利用“机制与策略分离”原理来构造OS结构。机制处于一个系统的基层,策略处于系统的高层。传统OS中,将机制放在OS内核的较低层,把策略放在内核的较高层次。而在微内核OS中,将机制放在OS的微内核中。正因如此,才有可能将内核做得很小。

4. 采用面向对象技术

OS是一个极其复杂的大型软件系统,不仅可以通过结构设计分解OS的复杂度,还可以基于面向对象技术中的 “抽象”和“隐蔽”原则控制系统的复杂性,再利用“对象”、“封装”和“继承”等确保OS的“正确性”、“可靠性”、“易修改性”等,并提高OS设计速度。正因为面向对象技术能带来如此多好处,故面向对象技术被广泛应用于现代OS设计中。

二、微内核的基本功能

1.进程管理

大多數的微内核OS,对于进程管理功能的实现,都采用“机制与策略分离”原理。对于用户如何进行分类,以及其优先级的确认方式或原则,都是属于策略问题。可将它们放入微内核外的进程管理服务器中。

2.低级存储器管理

在微内核中,只配置最基本的低级存储器管理机制,如用于实现将用户空间的逻辑地址变换为内存空间的物理地址的页表机制和地址变换机制,这一部分是依赖于硬件的,因此放入微内核。实现虚拟存储器管理的策略,则包含应采取何种页面置换算法、采用何种内存分配与回收策略等,将这部分放在微内核外的存储器管理服务器中实现。

3.中断和陷入处理

大多数微内核OS都是将与硬件紧密相关的一小部分放入微内核中处理,此时微内核的主要功能是捕获所发生的中断和陷入事件,并进行相应的前期处理,将有关事件的信息转换成消息后,把它发送给相关服务器。由于服务器根据中断或陷入的类型调用相应的处理程序来进行后期处理。

三、微内核OS的优点

1.提高系统的可扩展性。当开发了新的硬件和软件时,微内核OS只需在相应的服务器中增加新的功能或再增加一个专门的服务器。

2.增强系统的可靠性。一方面是由于微内核是通过精心设计和严格测试的,容易保证正确性,另一方面它提供了规范而精简的应用程序接口,为微内核外部的程序编制高质量的代码创造条件。

3.可移植性强。在微内核OS中,所有与特定CPU和I/O设备硬件有关的代码,均放在内核和内核下面的硬件隐藏层中,而OS其他绝大部分均与硬件平台无关,因而把OS移植到另一个计算机硬件平台上所需的修改比较小的。

4.提供了对分布式系统的支持。只要在分布式系统中赋予所有进程和服务器唯一的标识符,在微内核中再配置一张系统映射表,在进行客户与服务器通信时,只需在所发送的消息中标上发送进程和接收进程的标识符,微内核便可利用系统映射表将消息发往目标。

四、微内核OS存在的问题

由于微内核OS采用了非常小的内核,较之早期OS,微内核OS的运行效率有所降低,效率降低的主要原因是:在完成一次客户对OS提出的服务请求时,需要利用消息实现多次交互和进行用户/内核模式与上下文切换。

参考文献:

[1]陈向群,向勇,王雷等.Windows操作系统原理(2版)[M].北京:机械工业出版社,2004.

[2]吴旭光,何军红.嵌入式操作系统原理与应用[M].北京:化学工业出版社,2007.

[3]张尧学等.计算机操作系统教程[M].北京:清华大学出版社,2013.

猜你喜欢

面向对象服务器客户
通信控制服务器(CCS)维护终端的设计与实现
面向对象的计算机网络设计软件系统的开发
为什么你总是被客户拒绝?
面向对象的数据交换协议研究与应用
如何有效跟进客户?
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
面向对象Web开发编程语言的的评估方法
23