目录
操作系统的基本概念
概念(定义)
- 负责管理协调硬件、软件等计算机资源的工作
- 为上层用户、应用程序提供简单易用的服务
- 是一种系统软件
功能和目标
资源的管理者
处理机管理
存储器管理
文件管理
设备管理
向上层提供服务
给普通用户的
- GUI用户图形界面
- 命令接口
- 联机命令接口:“雇主”说一句话,“工人”做一件事
- 脱机命令接口:“雇主”将要“工人”做的事写在清单上,“工人”按照清单命令逐条完成这些事
给软件/程序员的
程序接口,即系统调用
对硬件机器的拓展
扩充机器
操作系统的特征
- 并发
- 共享
- 互斥共享方式(如摄像头设备的共享使用)
- 同时共享方式(如硬盘资源的共享使用)
- 虚拟
- 空分复用技术(如虚拟存储技术)
- 时分复用技术(如虚拟处理器技术)
- 异步
- 并发是指两个或多个事件在同一时间间隔内发生。宏观上是同时发生;微观上是交替发生。
- 并行是指系统具有同时进行运算或操作的特性,在同一时刻能完成两种或两种以上的工作。
- 没有并发和共享,就谈不上虚拟和异步,因此并发和共享是操作系统的两个最基本的特性。
- 并发和共享两者之间互为存在的条件
- 资源共享是以程序的并发为条件的,若系统不允许程序并发执行,则自然不存在资源共享问题。
- 若系统不能对资源共享实施有效的管理,则必将影响到程序的并发执行,甚至根本无法并发执行。
操作系统的发展历程
要重点关注和理解各类操作系统主要想解决什么问题,各自的优缺点。
- 👩💻 手工操作阶段
- 缺点:人机速度矛盾
- 👩💻 批处理阶段
- 单道批处理系统(引入脱机输入输出技术)
- 优点:缓解人机速度矛盾
- 缺点:资源利用率依然很低
- 多道批处理系统(操作系统开始出现)
- 优点:多道程序并发进行,资源利用率高
- 缺点:不提供人机交互功能
- 单道批处理系统(引入脱机输入输出技术)
- 👩💻 分时操作系统
- 优点:提供人机交互功能
- 缺点:不能优先处理紧急任务
- 👩💻 实时操作系统
- 硬实时系统
- 必须在绝对严格的规定时间内完成处理
- 软实时系统
- 能接受偶尔违反事件规定
- 优点:能优先处理紧急任务
- 硬实时系统
- 网络操作系统
- 分布式操作系统
- 个人计算机操作系统
操作系统的运行环境
操作系统的运行机制
“指令”就是处理器(CPU)能识别、执行的最基本命令。很多人习惯把Linux、Windows、MacOS的“小黑框”中使用的命令也称为“指令”,其实这是“交互式命令接口”。要于前面提到的二进制机器指令的区别。
- 简单了解程序的运行原理
- 高级语言编写代码 → 机器指令
- 程序运行的过程就是CPU执行指令的过程
- 两类程序
- 内核程序
- 应用程序
- 两类指令
- 特权指令
- 非特权指令
- 两种处理器状态
- 内核态/核心态/管态
- 用户态/目态
内核程序 → 特权指令 → 内核态
- 内核
- 内核(Kernel)是操作系统最重要的核心的部分
- 由很多内核程序组成操作系统内核
- 👩💻 如何变态
- 内核态 → 用户态:一条修改PSW特权指令
- 用户态 → 内核态:由中断引起,硬件自动完成
中断和异常
中断的作用
- 让操作系统内核态强行夺回CPU的控制权
- 使CPU从用户态变为内核态
中断的分类(广义的中断)
- 内中断(异常)
- 与当前执行的指令有关,中断信号来自CPU内部
- 自陷(Trap):由陷入指令引发,是应用程序故意引发的
- 故障(Fault):由错误条件引起的,可能被内核程序修复。内核程序修复故障后会把CPU使用权还给应用程序,使其继续运行。
- 终止(Abort):由致命错误引起,内核程序无法修复该错误,因此一般不再将CPU使用权还给引发终止的应用程序,而是直接终止该应用程序。
- 外中断(“中断”(狭义的))
- 与当前执行的指令无关,中断信号来自CPU外部
- 时钟中断
- I/O中断请求
中断机制的基本原理
- 检查中断信号
- 内中断:CPU在执行命令时会检查是否有异常发生
- 外中断:每个指令周期末尾,CPU都会检查是否有外中断信号需要处理
- 找到相应的中断处理程序
- 通过“中断向量表”实现
系统调用
-
什么是系统调用?操作系统对应程序/程序员提供的接口。
-
系统调用与库函数的区别
- 有的库函数是对系统调用的进一步封装
- 有的库函数没有使用系统调用
-
什么功能要用系统调用实现
- 设备管理
- 文件管理
- 进程控制
- 进程通信
- 内存管理
凡是与共享资源有关的操作、会直接影响到其他进程的操作,就一定需要操作系统的介入,就需要通过操作系统调用来实现
-
系统调用的过程
- 传参
- 陷入指令/Trap/访管
- 由操作系统内核程序处理系统调用请求
- 返回应用程序