内核单内核

内核单内核单内核(Monolithic kernel),是个很大的进程

它的内部又能够被分为若干模块(或是层次或其他)

但是在运行的时候,它是个单独的二进制大映象

其模块间的通讯是通过直接调用其他模块中的函数实现的,而不是消息传递

  单内核结构在硬件之上定义了一个高阶的抽象界面,应用一组原语(或者叫系统调用)来实现操作系统的功能,例如进程管理,文件系统,和存储管理等等,这些功能由多个运行在核心态的模块来完成

尽管每一个模块都是单独地服务这些操作,内核代码是高度集成的,而且难以编写正确

因为所有的模块都在同一个内核空间上运行,一个很小的bug都会使整个系统崩溃

然而,如果开发顺利,单内核结构就可以从运行效率上得到好处

很多现代的单内核结构内核,如Linux和FreeBSD内核,能够在运行时将模块调入执行,这就可以使扩充内核的功能变得更简单,也可以使内核的核心部分变得更简洁

单内核结构是非常有吸引力的一种设计,由于在同一个地址空间上实现所有低级操作的系统控制代码的复杂性的效率会比在不同地址空间上实现更高些

单核结构正趋向于容易被正确设计,所以它的发展会比微内核结构更迅速些

单内核结构的例子:传统的UNIX内核----例如伯克利大学发行的版本,Linux内核

 

以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。

相关