(2021年11月15日打卡第八天)
打卡第八天:03 | 黑盒之中有什么:内核结构与设计
03 | 黑盒之中有什么:内核结构与设计
学习本节,初步了解宏内核与微内核架构特点。
我们先搞清楚内核之中有些什么东西,然后探讨一下怎么组织它们、用什么架构来组织、并对比成熟的架构,最后设计出我们想要的内核架构。
1、了解内核的六类必要组件
- 管理 CPU:进程管理。
- 管理内存:分配、释放内存。
- 管理硬盘:文件系统。
- 管理显卡:图形系统。
- 管理网卡:网络协议栈,又称网络组件。
- 管理各种 I/O 设备: I/O 管理器。
2、宏内核的工作原理和优缺点
(1)工作原理
把管理进程的代码、管理内存的代码、管理各种 I/O 设备的代码、文件系统的代码、图形系统代码以及其它功能模块的代码,把这些所有的代码经过编译,最后链接在一起,形成一个大的可执行程序;并向用户应用软件提供一些系统 API 函数。
(2)优缺点
- 优点是性能极好。
- 缺点是没有模块化,没有扩展性、没有移植性,高度耦合在一起。开发一个新的功能也得重新编译、链接、安装内核。
3、微内核的工作原理核优缺点
(1)工作原理
微内核仅仅只有进程调度、处理中断、内存空间映射、进程间通信等功能;把实际的进程管理、内存管理、设备管理、文件管理等服务功能,做成一个个服务进程。
微内核定义了一种良好的进程间通信的机制——消息。应用程序要请求相关服务,就向微内核发送一条与此服务对应的消息,微内核再把这条消息转发给相关的服务进程,接着服务进程会完成相关的服务。服务进程的编程模型就是循环处理来自其它进程的消息,完成相关的服务功能。
(2)优缺点
- 优点是有利于协作开发,有良好的移植性,有相当好的伸缩性、扩展性。
- 缺点是开销大。
4、我们设计软件抽象层的目的是什么,内核结构大致是什么样的?
- 分层的主要目的和好处在于屏蔽底层细节,使上层开发更加简单。
分离硬件的相关性,就是要把操作硬件和处理硬件功能差异的代码抽离出来,形成一个独立的软件抽象层,对外提供相应的接口,方便上层开发。
操作系统的移植性也会大大增强,移植到不同的硬件平台时,就构造开发一个与之对应的硬件相关层。这就是分离硬件相关性的好处。 - 大致将我们的操作系统内核分为三个大层,分别是:内核接口层。内核功能层。内核硬件层。
- 内核接口层:定义了一套 UNIX 接口的子集。
- 内核功能层:主要完成 I/O 管理组件、内存管理组件、文件系统组件、进程管理组件、图形系统组件、网络组件、安全组件的通用功能型代码。
- 内核硬件层则完成其内核组件对应的具体硬件平台相关的代码。

4729

被折叠的 条评论
为什么被折叠?



