前言
✨本篇为博主 考研操作系统 的第四篇:1.4 操作系统结构
本篇博客内容来自:
👊2022王道视频笔记总结
👊2023王道书重点归纳总结
👊2023王道习题好题,错题总结
需要博主PDF版笔记或相关资料的同学可以评论出来,我会私发给大家~
笔记
分层法:分层法把操作系统分成若干层,最底层(层0)是硬件,最高层(层N)是用户接口,每层只能调用紧邻它的低层的功能和服务(单向依赖);
优点:
1.便于调试和验证:某层出错应在这一层上,因为比它低的已经调试好了。
2.易扩充易维护:增删改某一层时,只要不影响层直接的接口,就不会影响其他层。
缺点:1.合理定义各层困难
2.效率较差
模块化:按照功能划分为具有一定独立性的模块,每一个模块具有某方面的管理功能,规定好各模块间的接口,使得各模块之间能够通过接口进行通信,各模块还可以继续细分为子模块,并规定子模块之间的接口,这种设计方法被称为:模块-接口法;
划分模块的时候如果划分的太小,会降低模块本身复杂性但是使得各模块之间联系过多导致系统混乱;分的过大会增加模块内部复杂性;划分模块的时候需要考虑模块的独立性问题,越独立,模块的交互越少,结构越清晰
衡量模块独立的指标:
1.内聚性:模块内部各部分间联系的紧密程度,内聚性越高,独立性越好;
2.耦合度:模块间相互联系和相互影响的程度,耦合度越低,独立性越好。
模块化的优点:
1.提高操作系统设计的正确性、可理解性和可维护性;
2.增强了操作系统的可适应性;
3.加速了操作系统的开发过程。
模块化的缺点:
1.模块间的接口规定难以满足对接口的实际需求;
2.各模块设计者齐头并进,每个决定无法建立在上一个已验证的正确决定基础上,无法找到一个可靠的决定顺序。
从操作系统的内核架构来划分,可分为宏内核和微内核。
宏内核:也称单内核(大内核);将系统的主要功能模块都作为一个紧密联系的整体运行在核心态;具有无可比拟的性能优势(高性能);随着体系结构和应用需求的不断发展,需要操作系统提供的服务越来越复杂,操作系统的设计规模急剧增长;从操作系统的发展来看,宏内核取得了绝对地优势;Windows,Android,iOS,macOS,Linux等,都是基于宏内核的构架;目前主流的操作系统不是纯粹的宏内核构架,而是集微内核架构的优点后糅合而成的混合内核。
微内核:微内核构架,是指将内核中最基本的功能保留在内核;被移出内核的操作系统代码根据分层的原则被划分为若干服务,它们的执行相互独立,交互借助于微内核进行通信;微内核结构将操作系统分为两大类:微内核和多个服务器;
微内核通常包括:
1.与硬件处理紧密相关的部分;
2.一些较基本的功能;
3.客户和服务器之间的通信。
操作系统中的绝大部分功能都放在微内核外的一组服务器(进程)中实现;客户与服务器之间是借助微内核提供的信息传递机制来实现交互的;在微内核结构中,只有微内核运行在内核态,其余模块均运行在用户态,这样,一个模块的崩溃并不会影响整个系统的崩溃。
微内核结构利用 “机制与策略分离” 来构造OS结构,将机制部分及与硬件紧密相关的部分放入微内核(属于机制的很小一部分放入微内核,而绝大部分放入微内核外的各种服务器中实现)。
微内核有如下功能:
1.进程(线程)管理:进程(线程)之间的通信功能是微内核OS最基本的功能,进程的切换,进程的调度,多处理机之间的同步功能;但是对于对用户进程如何分类,以及优先级的确定方式这类的策略问题,放入到微内核之外的进程管理服务器中;
2.低级存储器管理:只配置最基本的低级存储器管理机制,如实现将逻辑地址转变为物理地址等的页表机制和地址变换机制;但是对于实现虚拟存储器管理的策略,需要放在微内核外的存储器管理服务器中;
3.中断和陷入处理:微内核OS将与硬件紧密相关的那一小部分放入微内核,此时的微内核的主要功能是捕获所发生的中断和陷入事件,并进行中断响应处理,在识别中断或陷入的事件后,再发送给相关的服务器来处理,故中断和陷入处理也应放入微内核。
微内核的特点:
1.扩展性和灵活性;
2.可靠性和安全性;
3.可移植陷性:CPU和I/O硬件有关的代码均放在内核中,其他各种服务器均与硬件无关;
4.分布式计算:客户和服务器之间、服务器和服务器之间的通信采用消息传递机制。
微内核结构的主要问题是性能问题,因为需要频繁地在核心态和用户态之间进行切换,操作系统的执行开销偏大,可以将那些频繁使用的系统服务移回内核,从而保证系统性能,但是这又会使得微内核的容量明显的增大。
虽然宏内核在桌面操作系统中取得了绝对地胜利,但是微内核在实时、工业、航空及军事应用中特别流行。
外核:对机器进行分区,给每个用户整个资源的一个子集;在底层,一中称为外核的程序在内核态中运行;外核的任务是为虚拟机分配资源,并检查使用这些资源的企图;每个用户层的虚拟机可以运行自己的操作系统,但只能使用已经申请并获得分配的那部分资源;
外核机制的优点:
1.减少了映射层:外核只需要记录已经分配给各个虚拟机的有关资源即可;
2.它将多道程序(在外核内)与用户操作系统代码(在用户空间内)加以分离,而且相应的负载并不重。
习题总结
本节的习题总结见:考研操作系统【1.5 操作系统引导与虚拟机】