2.5.3特殊操作系统-微内核操作系统:微内核、单体内核到微内核的流程、单体内核和微内核对比

2.5.3特殊操作系统-微内核操作系统:微内核、单体内核到微内核的流程、单体内核和微内核对比

微内核

微内核操作系统主要针对于单体内核而言的。
现代操作系统大多拥有两种工作状态,分别是核心态和用户态。一般应用程序工作在用户态,而内核模块最基本的操作系统核心工作在核心态。

将传统的操作系统代码放置到更高层,从操作系统中去掉尽可能多的东西,而只留下最小的核心,称之为微内核。(C/S结构)
请添加图片描述
操作系统的内核服务:异常和中断、计时器、I/O管理等。

单体内核到微内核的流程

一般认为操作系统内核服务必不可少的是异常和中断,以及计时器和I/O管理等等。而常规的,普通操作系统它的核心态可能会涉及到用户程序不能直接访问的操作系统的内核,包括内存空间以及一些访问的对象,都只能在核心态访问。

这种状态对权限是由一定要求的,核心态和用户态在普通的操作系统当中,经常执行应用程序的过程中,可以让应用程序主动区区进行系统调用,从而调用核心态需要访问的一些服务或工作。

而从用户态跳转到核心态之后,这个跳转可以通过中断再返回用户态,在普通的单体操作内核系统来看,会认为操作系统的核心态有很多任务,而这些任务一旦出错,就是i操作系统底层出错,很有可能导致系统崩溃,比如蓝屏,这种情况会认为这样的操作系统可靠性不强。

后面操作系统就有了这样的发展趋势,将一些不必要的功能从核心态抽出,放到上一个层次中,在核心态当中,只保留必要的一些异常和中断,以及计时器和I/O管理等等的管理工作,其它的工作全部放在用户态,这种情况游戏额原本核心态才能处理的东西在用户态就可以处理,这个过程当中,用户进程会将相应的一些需求发给进程所需要的服务器,二者进行沟通,沟通之后,进程服务器把所需要的东西结果返回给用户进程,这样就不需要先切换到核心态,处理完之后再切换到用户态进行返回。

对核心态的工作进行了大量的裁剪和压缩,这个过程中,核心态只处理用户提出的请求,以及反应的回答,从而进行交互,这就是核心态,这种核心他i压缩之后,就是微内核

操作系统当中原本核心态处理的工作,交给用户态之后,用户态当中会把用户进程才成C/S结构,也急速和i客户端、服务器结构的这种形式。客户进程提交请求,请求会发给服务器进程,服务器进程完成相关工作,返回相应结果。

单体内核和微内核对比

考试中主要涉及的就是表格的特点

实质 优点 缺点
单体内核 将图形、设备驱动及文件系统等功能全部在内核中实现,运行在内核状态和同一地址空间 减少进程间通信和状态切换的系统开销,获得较高的运行效率 内核庞大,占用资源较多且不易剪裁
系统的稳定性和安全行不好
微内核 只实现基本功能,将图形系统、文件系统、设备驱动及通信功能放在内核之外 内核精炼,便于剪裁和移植。系统服务程序运行在用户地址空间,系统的可靠性、稳定性和安全性比较高。
可用于分布式系统
用户状态和内核状态需要频繁切换,从而导致系统效率不如单体内核

猜你喜欢

转载自blog.csdn.net/qq_41929714/article/details/129571457