美文网首页
micro-kernel & macro-kernel

micro-kernel & macro-kernel

作者: 向往_8968 | 来源:发表于2019-05-02 21:04 被阅读0次

micro-kernel 和 macro-kernel 的差别是设计思想的不同。

在此之前讨论一个基本的问题:什么是kernel,怎么定义它的role。

简单对software进行分类,可以分为system software和application software,其中system software提供对application software developer的基本支持如运行环境、和提供其所需的服务,让其能够不care application software运行的硬件环境。本质上是对software从业人员进行流水化,分层化,以提供开发人员的效率;也让开发人员从初期的为了兼容不同的硬件环境的巨大effort中解脱出来。这里我们对system software的开发称之为操作系统开发。

而众所周知,内核是操作系统的核心,是对硬件细节的第一层抽象。它的作用是负责管理系统的进程、内存、中断、文件和网络,设备驱动,决定了系统的性能和稳定性。简而言之,对上屏蔽硬件细节,提供各种服务,如进程间通信,设备驱动和文件系统等等。另一方面有了kernel的隔离可以对application software进行权限的管控。

在micro-kernel的设计思想是尽可能的精简kernel。对于kernel本身提供的服务进行精简,只包含进程管理、进程间通信、地址管理等。常见device都作为一个服务的进程对其他进程提供相应服务。

而macro-kernel则会将硬件所能提供的服务都集成到kernel中,并对常见需求,如显示,输入系统,中断管理,gpio,外设管理等。

相关文章

  • micro-kernel & macro-kernel

    micro-kernel 和 macro-kernel 的差别是设计思想的不同。 在此之前讨论一个基本的问题:什么...

  • lab 5

    总述 这个 lab 要实现一个微内核(micro-kernel)风格的文件系统,整个文件系统跑在一个专门的用户进程...

网友评论

      本文标题:micro-kernel & macro-kernel

      本文链接:https://www.haomeiwen.com/subject/khronqtx.html