OK,从现在开始,进入到了408中的操作系统的学习了,参考书:2024年王道考研操作系统。课程就是对应的b站课程,这是个人的学习记录,重点和要点会有标注,用于复习使用。😊
操作系统 第一章 计算机系统的概述
一.操作系统的基本概念
1.概念
目前我们所熟知的:Windows,Macos,以及Linux(程序员必备),这些都是操作系统,也是目前主流的三种。
- 计算机系统自下而上划为4部分:硬件,操作系统,应用程序,用户。
- 操作系统是指控制和管理整个计算机系统的硬件与软件资源,合理地组织,调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合,是计算机系统中最基本的系统软件。
- 由上述,提炼出三点:
(1)操作系统是资源的管理者。
(2)向上层提供方便的服务。
(3)是最接近硬件的软件。
2.目标和功能
-
操作系统控制和管理整个计算机系统的硬件和软件资源,目标是:更安全,更高效。
-
主要功能如下:(重点,先做简单了解,后面章节主要内容)
(1)处理机管理:运行和分配都以线程(进程)为基本单位。
(2) 存储器管理:给多道程序的运行提供良好的环境。
(3) 文件管理:包括存储空间的管理,目录管理及文件的读写管理和保护。
(4) 设备管理:完成用户的I/O请求,提高设备的利用率。 -
操作系统作为用户与计算机硬件系统之间的接口,这里提到了封装的思想。
3. 提供的接口
操作系统提供的接口,主要分两类:命令接口和程序接口。
-
命令接口又分为两种方式,第一种为联机命令接口,也称为交换式命令接口,win+R键打开终端,每输入一条命令,执行一条命令。如图出现这个黑框,输入命令即可。
-
命令接口的第二种方式,为脱机命令接口,也称为批处理系统,它是先有一个命令清单,有一组控制命令组成,一次处理一堆。特点为:用户说一堆,系统做一堆。可以在c盘中搜索:*.bat,就会出现如下的文件,很清楚的告诉我们了,是批处理文件,打开后,是一堆命令代码。
3. 程序接口,由一组系统调用(广义指令)组成,用户通过在程序中使用这些系统调用来请求操作系统为其提供服务。Windows最为流行的图形用户界面(GUI),即图形接口,就是使用调用程序接口实现的。
4.小结如下:
二.操作系统的特征
操作系统的特征有四种:并发,共享,虚拟,异步。
其中并发和共享为最基本的特征,十分重要。
1.并发
- 并发指两个事物或多个事物在同一时间间隔内发生。
- 操作系统的并发性:是指计算机系统中同时存在多个运行的程序,因此它具有处理和调度多个程序同时执行的能力。
- 特点:宏观是同时进行的,微观上是分时交替进行的。
- 并行指两个事物或多个事物在同一时刻发生,需要有相关硬件的支持才行。
这里主要区分并发性和并行性的两者定义上的区别。由图可知:并发是时间管理大师,并行是左拥右抱。
2.共享
资源共享即共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。
没有并发性,共享将没有意义;若系统不能对资源共享实施有效的管理,必将影响到程序的并发执行,所以两者互为存在条件。
- 互斥共享方式:两个进程不能同时进行,必须等其中一个进程结束才能进行下面的。例如:QQ的视频电话和微信的视频通话,都要打开摄像头…
- 同时访问方式:允许同时访问,但和还是宏观上的,微观上,可能是交替进行的。
3.虚拟
- 虚拟是指把一个物理上的实体变为若干逻辑上的对应物,用来实现虚拟的技术叫做虚拟技术。
- 虚拟处理器技术是通过多道程序设计技术,采用让多道程序并发执行的方法,来分时使用一个处理器的。
- 技术归纳:
时分复用技术
空分复用技术
处理器的分时共享
4.异步
由于资源有限,进程的执行不是一贯到底的,可能走走停停,这就是进程的异步性。
三.操作系统的发展过程(重点,选择题)
主要区别特点和优缺点,选择题会考。😊
1.手工操作阶段
- 用户在计算机上的所有操作都要人为干预,程序的装入,运行,结果的输出。
- 缺点:
用户独占全机,虽然不会出现因资源已被其他用户占用而等待的情况,但资源利用率低。
CPU等待手工操作,CPU的利用不充分。
2.批处理阶段(操作系统开始出现)
引入了脱机输入/输出技术,外围机+磁带,由监督程序负责输入输出,加快了工作效率。
2.1 单道批处理系统
- 主要特征如:自动性,顺序性,单道性。
- 缺点:内存仅存放一道作业,大部分时间在等待。
2.2 多道批处理系统
多道程序设计技术允许多个程序同时进入内存并允许它们在CPU中交替运行,可以充分利用资源。
- 特点:多道;宏观上并行,微观上串行。
- 缺点: 没有人机交互功能。
3.分时操作系统
为了解决人机交互问题,出现了分时技术,是指将处理器的运行时间分成很短的时间片,按时间片交给各联机的作业使用。
- 分析:对于各个用户来说,对于计算机的操作是相互独立的,是用户感觉上是自己独占了一台计算机,而事实上却不是。正如旁边的脚踏两船的老渣,女孩都以为自己是对方的唯一,但事实很残酷。
- 特点:同时性,独立性,及时性,交互性。
- 缺点:因为它太过公平了,无法解决一些紧急任务。
4.实时操作系统
- 为了处理紧急任务,不需要时间片排队,产生了实时操作系统。
- 分为两种情况:硬实时系统和软实时系统。
- 主要特点:及时性;可靠性。
5.小结
四.操作系统的运行机制
程序运行
程序的运行,就是CPU执行一条条的机器指令的过程,这里的指令指的是二进制指令。
1.指令
- 在计算机系统中,通常CPU执行两种不同性质的程序,一种为操作系统内核程序;另一种为用户自编程序(应用程序),前者为后者的管理者。
- 因为身份的不同,两者之间的权限也不同,内核程序要执行一些特权指令,而应用程序出于安全考虑则不能执行这些特权指令。
- 内核程序—特权指令,用户不能直接使用的指令,如I/O指令,置中断指令,存取用于内存保护的寄存器等。
- 应用程序–非特权指令,用户可以直接使用的指令,不能直接访问系统中的软硬件资源。
2.处理器状态
CPU分为两种状态:用户态和内核态(核心态),可以通过CPU内部的PSW寄存器来判断。
五.操作系统的内核
1.中断机制
- 引入中断技术的初衷是提高多道程序运行环境中CPU的利用率。
- 在中断机制中,只有一小部分属于内核,它们负责保护和恢复中断现场的信息,减少中断的处理时间,提高系统的并行处理能力。
2.时钟管理
- 在计算机各种部件中,时钟是最关键的设备
- 第一功能是计时,提供准确的系统时间
- 可以通过时钟中断管理实现进程的切换,例如分时操作系统中采用时间片轮调度。
3.原语
- 处于操作系统的最底层,最接近硬件的部分。
- 具有原子性,一气呵成。
- 运行时间较短,调用频繁。
六.中断和异常
在操作系统引入核心态和用户态两种工作状态后,就要考虑两者之间的切换问题了。操作系统内核工作在核心态,而用户程序工作在用户态。
在实际操作系统中,发生中断或异常的时候,运行在用户态的CPU会立刻进入核心态(硬件实现)。
1.中断(外中断)
- 概念:中断是操作系统中的非常重要的一个概念,用于实现资源的释放,可以提高资源的利用效率。
- 这里的中断,指的是外中断,是指来自CPU执行指令外部的事件,通常用于信息的输入/输出,如设备发出的I/O结束中断,表示输入/输出处理完成。
- 时间中断:表示一个固定的时间片到了,让处理机计时,启动定时运行的任务。
== 用户态—>核心态 ==
2.异常(内中断)
- 异常,也称为内中断,是指CPU在执行指令内部的事件,如程序非法操作码,地址越界…异常一般不能被屏蔽,一出现就必须立刻处理。
- 分类:故障(指令异常);
自陷:实现安排好的“异常”,用于用户态下调用系统内核程序;(故意的)
终止:是CPU进行不下去的硬件故障。(硬件异常)
3.处理过程
当CPU在执行第i条指令出现一个异常事件(或请求中断的信号),CPU会打断当前的用户程序,然后转到相应的中断或异常处理程序执行,解决问题后,再回到被打断的指令,执行后面的i+1指令;如不能解决,则终止程序。
七.系统调用
1.概念
- 系统调用可视为特殊的公共子程序,凡是与资源有关的操作,都必须1通过系统调用方法向操作系统提出服务请求,由操作系统代为完成。
- 系统调用按功能分为几大类:
设备管理;文件管理;进程管理;进程通信;内存管理
2.调用过程
- 通过上面的简单了解,可以知道系统调用的功能十分强大,有些需要特权指令才能完成,所以系统调用的处理需要由操作系统内核程序负责完成,运行在内核态。
- 用户程序可以通过陷入指令(访管指令),CPU状态会从用户态切换到核心态。处理完后,内核程序又会把CPU的使用权还给用户程序。
- 目的:用户不能直接执行对系统影响大的操作,防止用户程序随意更改和访问重要的系统资源。
注:访管指令不是特权指令,是在用户态下执行的。
八.操作系统的结构(选择题)
1.分层
- 分层法就是将操作系统分成若干层,最底层为硬件,最顶层为用户接口,每一层只能调用紧邻它的低层的服务(单向依赖)。
- 优点:
模块化和可维护性
抽象和屏蔽底层细节
可扩展性和灵活性 - 缺点和问题:
性能开销
复杂性
设计的挑战
2.模块化
独立性的两个标准:内聚性,耦合度。
九.内核架构
从操作系统的内核架构可分为两类:大内核和为内核。
1.大内核(宏内核)
- 大内核:是指将系统的主要功能模块都作为一个紧密联系的整体运行的核心态,从而为用户程序提高性能的系统服务。
- 各管理模块之间共享信息,能够有效利用相互之间的有效性,所以具有无可比拟的性能优势。
2.微内核
- 微内核架构:是指将内核中最基本的功能保留在内核,将不需要再核心态执行的功能移到用户态执行,从而降低内核的设计复杂度。
- 微内核结构将操作系统划分为两大部分:微内核和多个服务器。
- 优点:可扩展
可靠性和稳定性
安全性;可移植性 - 缺点:
性能开销
复杂性
可靠性风险
应用:大内核在桌面操作系统中取得绝对的胜利,但微内核在实时,工业,航空及军事领域中还是特别流行的,可靠性高。
3.外核(了解)
- 操作系统外核(Exokernel)是一种操作系统设计模式,与传统的内核设计模式有所不同。在传统的内核设计中,内核负责管理和控制系统的资源,并提供一种抽象层,隐藏底层硬件的细节。
- 而在外核设计模式中,内核的功能更加精简,只负责提供资源的保护和抽象,而实际的资源管理和控制由应用程序直接完成。
外核的核心思想是将操作系统的内核剥离为一个极简的服务,它只提供了一些基本的功能,如地址空间隔离、线程调度和硬件抽象等。而应用程序可以直接操作底层的硬件资源,包括处理器、内存和设备等。外核通过提供资源的保护和隔离机制,确保应用程序之间互不干扰,并允许它们根据自身需求自由配置和管理资源。
4.操作系统的引导(常考选择题)
操作系统引导是指计算机系统利用CPU运行特定程序,通过程序识别硬盘,识别硬盘分区,识别硬盘分区上的操作系统,最后通过程序启动操作系统,一环扣一环地完成上述过程。
常见的操作系统的引导如下:(开机引导)
(1)激活CPU,读取ROM中的boot程序,将指令寄存器置为BIOS(输入/输出)的第一条指令,即开始执行BIOS的指令。
(2)硬件自检,看是否出现故障。
(3)加载带有操作系统的硬盘,硬件自检后,BIOS开始读取,把控制权交给启动顺序排在第一位的存储设备,然后CPU将存储设备引导扇区的内容加载到内存中。
(4)加载主导引记录MBR。硬盘以特定的标识符区分引导硬盘和非引导硬盘。
(5)扫描硬盘分区表,并加载硬盘活动分区。
(6)加载分区导引记录PBR。
(7)分区引导记录搜索活动分区中的启动管理器,加载启动管理器。
(8)加载操作系统。
十.虚拟机
虚拟机是一台逻辑计算机,通过特殊的虚拟化技术,为用户提供抽象点的,统一的,模拟的计算环境,主要有一下两类虚拟化方法。
对比:
十一.题目整理
这里的题目整理,主要整理自己第一遍的错题,以及认为比较好的题目。(这里先整理一小部分,后续再做补充说明)
-
并发性是指若干事件在同一时间间隔内发生。
-
以下选项中(D)不是操作系统关心的问题。
A.管理计算机裸机
B.设计,提供用户程序与硬件系统的界面
C.管理计算机系统资源
D.高级程序设计语言的编辑器 -
以下,不是多道程序设计的基本特征的是(C)
A制约性
B间断性
C顺序性
D共享性 -
[2009统考真题]单处理机系统中,可并行的是(II,III,IV)
I进程与进程
II处理机与设备
III处理机与通道
IV 设备与设备
操作系统的第一章到这儿就结束了,完结撒花,题目后面会慢慢补充完整的。