操作系统(Operating System, OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配;以提供给用户和其他软件方便的接口和环境;它是计算机系统中最基本的系统软件。

程序接口:可以在程序中进行系统调用来使用程序接口。
普通用户不能直接使用程序接口,只能通过程序代码间接使用。
系统调用=广义指令
image.png

并发:指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的。
并行:指两个或多个事件在同一时刻同时发生。
操作系统的并发性指计算机系统中同时运行着多个程序,这些程序宏观上看是同时运行着的,而微观上看是交替运行的。

单核CPU同一时刻只能执行一个程序,各个程序只能并发地执行
多核CPU同一时刻可以同时执行多个程序,多个程序可以并行地执行

1.1 操作系统的发展与分类

image.png

1.2 操作系统运行机制与体系结构

什么是指令

问题:“指令” 和我们平时所说的“代码”有什么区别?
指令就是CPU能识别、执行的最基本的命令,如加法运算

两种指令、两种处理器状态、两种程序

两种指令

有的指令“人畜无害”。比如:加、减、乘、除这些普通的运算指令。
有的指令有很高的权限。比如:内存清零指令。如果用户程序可以使用这个指令,就意味着一个用户可以将其他用户的内存数据随意清零,这样做显然是很危险的。
image.png
image.png
内核是计算机上配置的底层软件,是操作系统最基本、最核心的部分
实现操作系统内核功能的那些程序就是内核程序
image.png
image.png
image.png
image.png
类比:
操作系统的体系结构问题与企业的管理问题很相似。
内核就是企业的管理层,负责一些重要的工作。只有管理层才能执行特权指令,普通员工只能执行非特权指令用户态核心态之间的切换相当于普通员工和管理层之间的工作交接
大内核:企业初创时体量不大,管理层的人会负责大部分的事情。优点是效率高;缺点是组织结构混乱,难以维护。
微内核:随着企业体量越来越大,管理层只负责最核心的一些工作。优点是组织结构清晰,方便维护;缺点是效率低。

1.3 中断与异常

image.png
中断的作用
CPU 上会运行两种程序,一种是操作系统内核程序,一种是应用程序

“中断”会使CPU由用户态变为内核态,使操作系统重新夺回对CPU的控制权
当中断发生时,CPU立即进入核心态

在合适的情况下,操作系统内核会把CPU的使用权主动让给应用程序(第二章进程管理相关内容)

“中断”是让操作系统内核夺回CPU使用权的唯一途径

如果没有“中断”机制,那么一旦应用程序上CPU运行,CPU就会一直运行这个应用程序

内核态 → 用户态:执行一条特权指令——修改PSW的标志位为“用户态”,这个动作意味着操作系统将主动让出CPU使用权

用户态 → 内核态:由“中断”引发,硬件自动完成变态过程,触发中断信号意味着操作系统将强行夺回CPU的使用权

中断的分类
image.png
image.png
image.png

系统调用

操作系统作为用户和计算机硬件之间的接口,需要向上提供一些简单易用的服务。主要包括命令接口和程序接口。其中程序接口由一组系统调用组成。
“系统调用”是操作系统提供给应用程序(程序员 / 编程人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以通过系统调用来请求获得操作系统内核的服务
image.png

系统调用与库函数区别

image.png
image.png
image.png