虚拟化风暴前夕 微软HyperV技术分析
2008-08-30 12:38:28 来源:WEB开发网这种设计具有许多好处,例如增加了灵活性,易于维护,易于移植。只需要把微内核本身进行移植就能够完成将整个内核移植到新的平台上。同时微内核的模块化设计让其他核心功能模块都只依赖于微内核模块或其他模块,并不直接依赖硬件。
同样,由于模块化的设计,不包含在微内核内的驱动程序可以动态地加载,或者卸载。同时,微内核也不依赖于固定的文件系统,用户可以随意选择对文件系统的支持。用户甚至能够在系统运行时将研发出的新系统模块或需要替换现有模块的模块直接而且迅速的加入系统。不需要的模块将不会被加载到内存中,因此微内核就能够更有效的利用内存。微内核还具有的好处是实时性、安全性比较好,并且更适合于构建分布式操作系统和面向对象操作系统。
微内核操作系统的典型例子是,Mach(一个非原生的分布式操作系统内核,也被应用在Mac OS X上)、IBM AIX、BeOS,以及Windows NT,还有著名的Minix(一个主要用于教学的Unix系统)和Amoeba(一个原生的分布式操作系统)。
单内核(Monolithic kernel)――单内核是个很大的进程。它的内部又能够被分为若干模块(或层次,或其他)。但是在运行的时候,它是一个单独的大二进制映象。因为是在同一个进程内,其模块间的通讯是通过直接调用其他模块中的函数实现的,而不是微内核那样在多个进程内进行消息传递。因此在运行效率上,单内核会具有一定的好处。
单内核操作系统的典型例子是,大部分Linux,包括BSD在内的几乎所有的Unix,MS-DOS,Windows 9x。例如Sun Solaris的内核就运行着数百个线程以实现各种功能,而编译过Linux内核的人就知道Linux内核有数十MB之大。
单内核和微内核哪个更好显然是一个很有争议性的问题,必须说明的很有趣的一点是,这种争论经常会令人想到上一个时代CPU领域中RISC和CISC的斗争。现代的成功CPU设计中包含了任何这两种技术,就像现在Linux(单内核)和Windows NT(微内核)都是微内核和单内核的混合产物一样。历史上有过这样的争论,Linux(单内核)的作者Linus和Minix/Amoeba(均为微内核)的作者Andrew S. Tanenbaum博士对垒,最终Linus也同意微内核架构更为先进的论点。
更多精彩
赞助商链接