打卡第八天:03 | 黑盒之中有什么:内核结构与设计

(2021年11月15日打卡第八天)



03 | 黑盒之中有什么:内核结构与设计

学习本节,初步了解宏内核与微内核架构特点。
我们先搞清楚内核之中有些什么东西,然后探讨一下怎么组织它们、用什么架构来组织、并对比成熟的架构,最后设计出我们想要的内核架构。

1、了解内核的六类必要组件

  • 管理 CPU:进程管理。
  • 管理内存:分配、释放内存。
  • 管理硬盘:文件系统。
  • 管理显卡:图形系统。
  • 管理网卡:网络协议栈,又称网络组件。
  • 管理各种 I/O 设备: I/O 管理器。

2、宏内核的工作原理和优缺点

(1)工作原理

把管理进程的代码、管理内存的代码、管理各种 I/O 设备的代码、文件系统的代码、图形系统代码以及其它功能模块的代码,把这些所有的代码经过编译,最后链接在一起,形成一个大的可执行程序;并向用户应用软件提供一些系统 API 函数。

(2)优缺点

  • 优点是性能极好。
  • 缺点是没有模块化,没有扩展性、没有移植性,高度耦合在一起。开发一个新的功能也得重新编译、链接、安装内核。

3、微内核的工作原理核优缺点

(1)工作原理

微内核仅仅只有进程调度、处理中断、内存空间映射、进程间通信等功能;把实际的进程管理、内存管理、设备管理、文件管理等服务功能,做成一个个服务进程。

微内核定义了一种良好的进程间通信的机制——消息。应用程序要请求相关服务,就向微内核发送一条与此服务对应的消息,微内核再把这条消息转发给相关的服务进程,接着服务进程会完成相关的服务。服务进程的编程模型就是循环处理来自其它进程的消息,完成相关的服务功能。

(2)优缺点

  • 优点是有利于协作开发,有良好的移植性,有相当好的伸缩性、扩展性。
  • 缺点是开销大。

4、我们设计软件抽象层的目的是什么,内核结构大致是什么样的?

  • 分层的主要目的和好处在于屏蔽底层细节,使上层开发更加简单。
    分离硬件的相关性,就是要把操作硬件和处理硬件功能差异的代码抽离出来,形成一个独立的软件抽象层,对外提供相应的接口,方便上层开发。
    操作系统的移植性也会大大增强,移植到不同的硬件平台时,就构造开发一个与之对应的硬件相关层。这就是分离硬件相关性的好处。
  • 大致将我们的操作系统内核分为三个大层,分别是:内核接口层。内核功能层。内核硬件层。
  • 内核接口层:定义了一套 UNIX 接口的子集。
  • 内核功能层:主要完成 I/O 管理组件、内存管理组件、文件系统组件、进程管理组件、图形系统组件、网络组件、安全组件的通用功能型代码。
  • 内核硬件层则完成其内核组件对应的具体硬件平台相关的代码。
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值