也许最新的操作系统设计方法是用面向对象编程基础来生成模块化的内核。这里内核有一组核心组件,以及在启动或运行时对附加状态的动态链接。这种方法使用动态加载模块,而且在Mac OS X和Linux、Windows上很常见。

下图是Solaris的系统内核模块:

设计的理念是在运行时,内核提供核心服务,其他服务是动态实现的。动态链接服务比直接向内核添加新特性更可取,因为它需要在每次更改时重新编译内核。例如,我们可以将CPU调度和内存管理算法直接构建到内核中,然后通过可加载模块为不同的文件系统添加支持。

总体效果类似于一个分层系统,每个内核部分都定义了受保护的接口;但是它比分层系统更灵活,因为任何模块都可以调用任何其他模块。该方法也类似于微内核方法,因为主模块只有核心功能和如何加载和与其他模块通信的知识;但是它更有效,因为模块不需要调用消息传送来进行通信。

这种方法与微内核相似,但是这种方法更高效,因为模块不需要调用消息传递来通信

results matching ""

    No results matching ""