OS 学习笔记(5) 操作系统的体系结构
王道OS 1.4 操作系统的体系结构
文章目录
- OS 学习笔记(5) 操作系统的体系结构
- 知识总览
- 分层结构
- 模块化
- 操作系统的内核
- 大内核 vs 微内核
- 知识回顾与重要考点
- 外核
- 王道chap1 回顾
- 英文表达、术语积累(《操作系统概念》第九版、ostep 《OPERATING SYSTEMS THREE EASY PIECES》)
知识总览
绿色为2023考纲新增
分层结构
- 分层法是将操作系统分为若干层,最底层(层0)为硬件,最高层(层N)为用户接口,每层只能调用紧邻它的低层的功能和服务(单向依赖)。
- 分层法的优点:
- 便于系统的调试和验证,简化了系统的设计和实现。第1层可先调试而无须考虑系统的其他部分,因为它只使用了基本硬件。第1层调试完且验证正确之后,就可以调试第2层,如此向上。如果在调试某层时发现错误,那么错误应在这一层上,这是因为它的低层都调试好了。
- 易扩充和易维护。在系统中增加、修改或替换一层中的模块或整层时,只要不改变相应层间的接口,就不会影响其他层。
- 分层法的缺点:
- 合理定义各层比较困难。因为依赖关系固定后,往往就显得不够灵活。
- 效率较差。操作系统每执行一个功能,通常要自上而下地穿越多层,各层之间都有相应的层间通信机制,这无疑增加了额外的开销,导致系统效率降低。
模块化
-
模块化是将操作系统按功能划分为若干具有一定独立性的模块。每个模块具有某方面的管理功能,并规定好各模块间的接口,使各模块之间能够通过接口进行通信。还可以进一步将各模块细分为若干具有一定功能的子模块,同样也规定好各子模块之间的接口。这种设计方法被称为模块-接口法。
-
模块化的优点:
- 模块间逻辑清晰易于维护,确定模块间接口后即可多模块同时开发
- 支持动态加载新的内核模块(如:安装设备驱动程序、安装新的文件系统模块到内核),增强OS适应性
- 任何模块都可以直接调用其他模块,无需采用消息传递进行通信,效率高
-
模块化的缺点:
- 模块间的接口定义未必合理、实用
- 模块间相互依赖,更难调试和验证
操作系统的内核
-
操作系统的功能可以分为内核功能和非内核功能
-
时钟管理:利用时钟中断实现计时功能
-
原语:一种特殊的程序,具有原子性(一气呵成,不可被中断)
-
内核是操作系统最基本、最核心的部分
-
实现操作系统内核功能的那些程序就是 内核程序
大内核 vs 微内核
-
注意:
- 操作系统内核需要运行在内核态
- 操作系统的非内核功能运行在用户态
-
一个情境:现在,应用程序想要请求操作系统的服务,这个服务的处理同时涉及到进程管理、存储管理、设备管理
- 注意:状态转换的过程是有成本的,要消耗不少时间,频繁的状态转换会降低系统性能
-
宏内核(大内核)也使用了"模块化"的设计思想
-
优点
-
性能高,内核内部各种功能都可以直接相互调用
而微内核功能间互相调用需要通关消息传递的方式
-
-
缺点
- 内核庞大功能复杂,难以维护
- 大内核中某个功能模块出错,就可能导致整个系统崩溃
-
-
微内核只把中断、原语、进程通信等最核心的功能放入内核。进程管理、文件管理、设备管理等功能以用户进程的形式运行在用户态
- 优点
- 内核小功能少、易于维护,内核可靠性高
- 内核外的某个功能模块出错不会导致整个系统崩溃
- 缺点
- 性能低,需要频繁的切换用户态/核心态。用户态下的各功能模块不可以直接相互调用,只能通过内核的“消息传递“来间接通信
- 用户态下的各功能模块不可以直接相互调用,只能通过内核的“消息传递“来间接通信
- 优点
知识回顾与重要考点
Mermaid居然还能画甘特图
- https://zhuanlan.zhihu.com/p/166668789
- 典型的大内核/宏内核/单内核 操作系统: Linux、UNIX
- 典型的 微内核 操作系统: Windows NT
外核
- 不同于虚拟机克隆真实机器,另一种策略是对机器进行分区,给每个用户整个资源的一个子集。这样,某个虚拟机可能得到磁盘的0至1023盘块,而另一台虚拟机会得到磁盘的1024至2047块,等等。在底层中,一种称为外核(exokernel)的程序在内核态中运行。它的任务是给虚机分配资源,并检查使用这些资源的企图,以确保没有机器会使用他人的资源。每个用户层的虚拟机可以运行自己的操作系统,但限制只能使用已经申请并且获得分配的那部分资源。
- 外核机制的优点是减少了映射层。在其他的设计中,每个虚拟机都认为它有自己的磁盘,其盘块号从0到最大编号,这样虚拟机监控程序就必须维护一张表格以重映像磁盘地址(或其他资源),有了外核,这个重映射处理就个需要了。外核只需要记录已经分配给各个虚拟机的有关资源即可。这种方法还有一个优点,它将多道程序(在外核内)与用户操作系统代码(在用户空间内)加以分离,而且相应的负载并不重,因为外核所做的只是保持多个虚拟机彼此不发生冲突。
王道chap1 回顾
视频里举的太监、大臣和皇上的例子挺好玩的
英文表达、术语积累(《操作系统概念》第九版、ostep 《OPERATING SYSTEMS THREE EASY PIECES》)
- Bibliographical Notes 参考书目注释
- bibliographical adj.书目的;书目提要的;书志学的