微内核与宏内核

首先我们先来了解一下系统内核的两种不同的实现方式——微内核与宏内核。

        微核心的设计理念,是将系统服务的实作,与系统的基本操作规则区分开来。它实作的方式,是将核心功能模组化,划分成几个独立的程序,各自运行,这些程序被称为服务。所有的服务程序,都运行在不同的地址空间。只有需要绝对特权的程序,才能在具特权的执行模式下运行,其余的程序则在使用者空间运行。

        宏内核简单的说就是把整个内核设计成一个大程序,它的所有功能都集中在一个层次,对外提供一个完整的内核界面,即系统调用。内核中的各种函数可以相互直接调用,汇编程序和C程序可以相互跳转和调用,用一个整体的大程序来实现内核功能,没有微内核的分层结构。宏内核的好处是简单,便于理解和实现。Linux之所以很快的流行,也在于它采用宏内核,设计简单。相对于微内核来说,宏内核的效率略高。基本上每个系统调用只需要经过一个函数调用就可以实际作用于硬件层,速度很快。

        操作系统内核结构可以分为三个层次:应用程序接口、内核和硬件,如下图所示:

        应用程序想要调用系统内核功能,只需要通过应用程序接口进行系统调用,来调用系统内核的系统调用函数。而系统内核会对程序的请求做出相应的处理。如果该功能需要使用硬件,则调用硬件驱动程序访问相应的硬件设备接口,并将响应的结果反馈给应用程序。

https://www.askpure.com/course_8BCFDMOQ-E8GAXR1E-DOYP3PT3-6TRZ3SQY.html

原文地址:https://www.cnblogs.com/feng9exe/p/12420849.html