linux的内核结构--宏内核(单内核)

回复 收藏
在计算机界,内核可以分成两大类:宏内核与微内核。
Linux的内核就是宏内核,windows的内核就是微内核。先说说他们的特点。
微内核 -- 系统的功能(如内存管理、系统调用、文件管理等)是以进程的方式实现的,内核只提供了最少量的功能。
宏内核 -- 系统主要的功能(如内存管理、系统调用、文件管理等)是集成在内核中的,是内核的组成部分,它们是内核的子系统。
两种内核的比较:最大的区别在于各功能之间的通信,微内核功能通信其实就是进程间通信,而宏内核功能通信是子系统间的通信,也可以说是内核内部通信。这两种通信机制从实现上来说内核内部通信更容易、更简单,效率会高。微内核是一个信息中转站,自身完成很少功能,主要是传递一个进程(系统功能方面)对另一个进程(系统功能方面)的功能请求,而宏内核则是一个大主管,把内存管理,文件管理等等一股脑全部接管。
从理论上来看,微内核的思想更好些,微内核把系统分为各个小的功能块,降低了设计难度,系统的维护与修改也容易,但通信带来的效率损失是个问题。宏内核的功能块之间的耦合度太高造成修改与维护的代价太高,不过在目前的Linux里面还不算大问题,因为Linux目前还不算太复杂,宏内核因为是直接调用,所以效率是比较高的。

如果想了解更多,请到 http://www.cnblogs.com/smwikipedia/archive/2009/02/24/1397122.html
2012-02-22 09:45 举报
已邀请:

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: