-
-
[旧帖]
原创]一种新的操作系统架构
0.00雪花
-
发表于:
2012-6-24 20:21
1460
-
[旧帖] 原创]一种新的操作系统架构
0.00雪花
关于无内核操作系统
操作系统内核其实并非只有微内核与宏内核,其他的还有混合内核与无内核操作系统。微内核,宏内核与混合内核现在都是有成品可以参考的,无内核操作系统则有很少的资料可以参考。关于无内核操作系统的概念并不太清楚是由谁提出的,但它在理论上吸取了宏内核与微内核的优点(微内核的高可靠性,可移植性与可扩展性;宏内核的高效率性)。无内核的设计思路与混合内核相反,混合内核是在微内核的模块化上上做了一定的妥协,将一部分功能放到了内核态处理。而无内核操作系统则是将微内核中的内核模块完全删除,将其放置到应用进程的空间中,这是一种以空间换效率的手段,但它同时也保留了微内核最核心的模块化结构,并且从理论上讲无内核系统比宏内核系统的效率还要高。
下面是微内核与无内核的比较图:
微内核:
无内核:
可以看出,当用户进程产生一个调用时微内核会先调用消息传递模块消息传递给相应的消息处理模块,消息处理模块处理完后,再调用消息传递模块返回消息给用户进程。这里一个用户进程的请求要经过至少4次进程特权级的变换。而无内核结构,当用户进程产生一个调用时,调用自己的消息传递函数将消息传递给相应的消息处理模块,当消息处理完后该模块调用自己的消息传递函数将消息传递回用户进程。因为消息传递函数是以函数的形式存在于各个进程中的,所以并不涉及到特权级的变换问题,也就省去了在特权级变换时进程上下文切换的麻烦。并且,从上面的图可以看出,无内核结构任然保持了微内核的模块化结构。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)