Linux需要微内核吗

  Nooks:目前是基于Linux的改进,特点是让驱动程序运行于沙箱之中,可以防止因为驱动程序bug导致的系统崩溃,可以恢复崩溃的驱动程序。因为驱动程序的代码量占Linux内核代码的70%左右,并且代码质量低于其他部分代码,所以如果Nooks能达到其目标,整个系统的稳定性将会有很大的提高。
  Paravirtual Machine:虚拟机(Virtual Machine)是最近比较火的技术(其实已经是非常老的技术了),相信很多人都玩过Vmware或者任天堂的模拟器,这些都算是虚拟机。虚拟机技术不光是玩玩而已,它在降低企业的IT投入、提高稳定性和可维护性上都有重要的意义,Intel和AMD的新一代CPU中就会在指令级提供对虚拟技术的支持。Paravirtual与一般虚拟机的不同在于,要对虚拟运行的系统做一定的修改。像UML(User mode linux)和Xen都算此类。泰老举的例子是L4,在L4上运行多个Linux系统,其中一部分专门运行驱动程序,一部分专门运行应用程序,哪个挂了都不碍事。
  按泰老所说,使用L4所带来的性能开销在3%到8%之间。这个数字跟Xen的性能相仿。
  MULTISERVER OPERATING SYSTEMS:代表系统Minix3,也就是泰老自己设计的系统,典型的微内核设计,就不多说了。
  微软的Singularity:来自微软的最激进的技术创新。在Singularity里,所有进程在同一个虚拟地址空间里运行,防止一个进程不适当的访问另外一个进程的数据不是依靠硬件,而是依靠编译时的检查(这样上下文切换的开销就省掉了哦)。除了核心的部分代码由C#,C++和汇编写成外,其他部分都是用一种被称为Sing#的类似C#的语言编写的。另外,在Singularity好像是采用了基于contract的开发。
  在泰老发表了他的文章之后,Linus也毫不客气的再次把microkernel更稳定的论调称之为“crap“,不过不等泰老出招,一位从事微内核研究开发的博士就驳斥了Linus。具体如何大家看我在前文给出的链接。
  孰是孰非,还是让我来说句公道话吧,Linus是一位技术天才,泰老则是学富五车著作等身的学术泰斗。从Linus的角度来说,他可能不太希望自己的系统被翻天覆地的修改(每个做技术的人都有这种倾向,天才也不能幸免);而泰老当然看的更远。Linux的内核能在现有架构上支撑100年吗?显然不可能,20年都难。总有一天,现在的Linux内核会以某种方式进入历史的回收站,而新的内核,可能已经不叫Linux了,将会建立在新的设计思路之上。创新,永远都是一件好的事情。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/3da79a6354e3778daf81105e4e4a95b4.html