May
07

Microkernel

这几周发现常去的一些网站上关于 microkernel 的话题不约而同地热了几分,甚是奇怪,莫非部分原因是最近 Apple 老是跳来跳去?

说详细一点,好像也确实也是从OS X,进而 Mach 牵扯出来的话题,故事的大背景有旷日持久的论战和纠葛不清的业界实践,这本身就算一出戏,何况还有像 Linus vs. Tanenbaum 这样的蒙太奇桥段。

OSNews 上 Diego Calleja 有篇文章 Why Monolithic Kernels Aren’t the End of the World ,对应 Thom Holwerda 的 Why I Like Microkernels,两篇文章都不是技术性很强的讨论。鄙人同意前者,因为强调恪守 microkernel 的框框的结果是至今没有没有一个可以令人信服的实现,我自己的观点一直是,不能实现的理想等于没有理想--也是基于同一个道理,我觉得 Google 进入中国采取的“顺从”措施可以理解--有时候革命并不总是好过改良,要取得进步也不意味着不能妥协。搬到现在我说的话题里,就是:是不是好的设计跟是 microkernel 还是 monolithic kernel 没有血统关系。Microkernel 所“固有(?)”的优势比如安全,稳定,模块化和易维护,并不是 monolithic 就不可企及的特性,而糟糕的设计同样可以让 microkernel 变成一无是处的四不像。有的人花20年时间用口水证明 monolithic kernel 不会有好的设计,另有一些人则用 20 年的时间动手来改进 Solaris 和 Linux 内核的结构,你觉得哪种做法更有建设性?现在已经有 kernel module,有FUSE,有 user-space driver framework 等等一系列尝试,加上 udev, klibc 或者 libusb 等等试验,Linux 正把一部分功能移到用户空间,当然,我们恐怕永远看不到一个最终变成了 microkernel 的 Linux 内核,不过不断前进,在实践中检验,这总是好的。

相比之下,microkernel 在业界的实践并不总是像理论研究的时候说得那般简单而又有优势,而且有时候人们的“以为”和实际实现常常有差别

Mach,Minix,L4 ,QNX --什么?Symbian OS ?鬼才知道--可能是 microkernel 在业界比较 solid 的事实存在。不过我们看看,Avie Tevanian 领导下的 Apple 也没有死板地把僵硬的概念引入 OS X,就像 ADC 在 Porting UNIX/Linux Applications to Mac OS X 里那样说的“The kernel is not a pure microkernel implementation, since the address space is shared with the BSD portion of the kernel and the I/O Kit.”;Hurd 可能是唯一一个构建在 L4(come on,nano-kernel?)上的接近产品的作品,可是连它自己都还没有得到大规模使用的机会;QNX ?我们怎么证明一个 closed source 的东西,Nucleus,说得和做的是一样的呢?

最后一个想法是,沿用并改良 legacy 本身也是一种极大的创新,这种行为并不因为没有使用 microkernel 就显得落后或者不好不酷不牛X,其需要的聪明才智和付出的努力并不亚于考察 microkernel 是否可用以及把 microkernel 移植到现有系统中。另外嘛,其更大的积极意义还在于对已付出的社会资源的节约。

我自己当然尊重并总是欣喜地关注各种探讨和实践,这些过程总能丰富知识,带来闪光的新想法进而带动现实世界的发展--只要不变成口水仗和毫无意义的指责这指责那就好。我们期待能和 Mach 这样的例子一样,涌现更多的好玩故事或者传奇:项目的 lead developer,Richard Rashid 1991年加入 Microsoft,在很多 Microsoft Research 的top-level 位置上待过,另外就是前面提到的 Avie Tevanian。

最后还有一个是 Apple Matters:How Long Will Apple Keep the MACH Microkernel? 这篇文章显得过于幼稚,漏洞多到像小马哥的风衣,权且一笑 ;-)

[tags]os, microkernel, os x, mach, qnx, mimix, l4[/tags]



4 Human Visitors Responded to “Microkernel”

如果您没注册 Gravatar 的服务,这里会随机选择一张 Flickr 或者 JPG Magazine 的照片作为您的头像哟~~ 已注册了 Gravatar?那自然,您的头像正常显示。
A random picture from Flickr or JPG Magazine will be used as your avatar if you haven't registered Gravatar or use a fake email.

1 Gentlemen Mentioned “Microkernel”

开源文化研究   2006-05-09, Tuesday , 12:28 pm

Leave a Reply

如果您没注册 Gravatar 的服务,这里会随机选择一张 Flickr 或者 JPG Magazine 的照片作为您的头像哟~~ 已注册了 Gravatar?那自然,您的头像正常显示。
A random picture from Flickr or JPG Magazine will be used as your avatar if you haven't registered Gravatar or use a fake email.





 

Feeds

Global: RSS for International Readers
China: RSS for Readers from China Mainland
Both feeds deliver exactly same content. The second one is provided for readers from China Mainland where FeedBurner is blocked.
如果您的 RSS 阅读器访问 FeedBurner 有困难,可以使用第二个 feed,内容完全一样。

Latest JPG Magazine

By Gabriella PisanoBy Scott PughBy mary mullarkeyBy Gary OTraining DayBy Pepe Salas