西西河

主题:微内核和单一内核 -- 莫问前程

共:💬1 🌺2 新:
全看树展主题 · 分页
家园 微内核和单一内核

单一内核和微内核之争,RISC和CISC之争,中国模式和西方模式之争,

中国模式很模糊,中国模式的变化可以很大,可以像毛时代,可以像邓时代,今天的胡时代,三十年河东三十年河西,下一个三十年恐怕没人敢说是什么样子吧(迅速发展,创造又一个三十年的奇迹?走向专制,走向特权?走向西方民主?走向拉美,停滞?),也许又是翻天覆地的变化,

最好是变成linux那样,既具有单一内核的效率,又有微内核的可移植性。

不过有一点如果从上到下都是走潜规则,而没有规则化的制度,这条路肯定和曲折。

微内核(Microkernel kernel)――在这些设计中,微内核部分经常只不过是一个消息转发站:当系统调用模块要给文件系统模块发送消息时,消息直接通过内核转发。

这种方式有助于实现模块间的隔离。微内核设计的一个优点是在不影响系统其它部分的情况下,用更高效的实现代替现有文件系统模块的工作将会更加容易。我们甚至可以在系统运行时将开发出的新系统模块或者需要替换现有模块的模块直接而且迅速的加入系统。

另外一个优点是不需要的模块将不会被加载到内存中,因此微内核就可以更有效的利用内存。

单内核(Monolithic kernel)――单内核是一个很大的进程。它的内部又可以被分为若干模块(或者是层次或其它)。但是在运行的时候,它是一个独立的二进制大映象。其模块间的通讯是通过直接调用其它模块中的函数实现的,而不是消息传递。

单内核的支持者声称微内核的消息传递开销引起了效率的损失。微内核的支持者则认为因此而增加的内核设计的灵活性和可维护性可以弥补任何损失。

这种争论经常会令人想到前几年CPU领域中RISC和CISC的斗争。现代的成功CPU设计中包含了所有这两种技术,就像Linux内核是微内核和单一内核的混合产物一样。Linux内核基本上是单一的,但是它并不是一个纯粹的集成内核。

由于单一模式(大部分情况下)在Linux中运行状态良好,而且内核移植相对来说比较困难,但没有明显地阻碍程序员团体的工作,他们已经热情高涨地把内核成功的移植到了现存的大部分实际系统中,更不用说类似掌上型电脑的一些看起来很不实际的目标了。只要Linux的众多特点仍然值得移植,新的移植版本就会不断涌现。

全看树展主题 · 分页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河