操作系统之宏内核结构

在知道了操作系统有什么组件,就需要知道如何组织这些组件,可以通过一些经典的内核来学习组织操作系统组件,这篇文章来介绍一下宏内核结构。
宏,就是大,在宏内核结构里边,需要把例如进程管理、内存管理、I/O管理等组件通过编译之后链接成一个大的可执行文件。
这个大的文件里边有所有功能的代码,会提供一些接口给用户程序,而这些接口就是常说的系统API。而这个大的程序会在CPU特权模式下运行,这个通常称为宏内核模式。
宏内核提供内存分配功能的服务过程,具体如下:

  1. 应用程序调用内存分配的 API(应用程序接口)函数。
  2. 处理器切换到特权模式,开始运行内核代码。
  3. 内核里的内存管理代码按照特定的算法,分配一块内存。
  4. 把分配的内存块的首地址,返回给内存分配的 API 函数。
  5. 内存分配的 API 函数返回,处理器开始运行用户模式下的应用程序,应用程序就得到了一块内存的首地址,并且可以使用这块内存了。

宏内核运行速度很快,可是也有许多缺点:

移植性差
可扩展性差
没有模块
高度耦合

此文章为4月Day 10学习笔记,内容来源于极客时间《操作系统实战 45 讲》。

你可能感兴趣的:(操作系统实战45讲,linux)