「这是我参与2022首次更文挑战的第37天,活动详情查看:2022首次更文挑战」。
操作系统是负责管理协调硬件、软件等计算机资源的工作、为上层用户、应用程序提供简单易用的服务的一种系统软件。
功能与目标
它是一个资源管理者,能管理处理机、存储器、文件、设备等。
其给普通用户提供的GUI用户图形用户界面和命令接口能有效的帮助人们了解和使用计算机,如:联机命令接口cmd、脱机命令接口.bat。
其给软件/程序员用的程序接口能帮助程序员更好的开发新系统,软件等。
特征
在没有并发和共享的前提下,就谈不上虚拟和异步,因此并发和共享是操作系系统的两个最基本的特征。
- 互斥共享方式和同时共享方式为共享的两种主要方式
- 空分复用技术和时分复用技术是虚拟的两种技术方式
| 发展与分类 | 手工操作阶段 | 单批道处理系统 | 多批道处理系统 | 分时操作系统 | 硬实时操作系统 | 软实时操作系统 |
|---|---|---|---|---|---|---|
| 优点 | --------------- | 缓解人机速度矛盾 | 多道程序并发执行 | 提供人机交互功能 | 必须在绝对严格的规定时间内完成处理 | 能优先处理紧急任务 |
| 缺点 | 人机速度矛盾 | 利用资源率依然很低 | 不提供人机交互 | 不能优先处理紧急任务 | ---------------- | 能接受偶尔违反时间的规定 |
操作系统运行机制
高级语言编写代码转化为机器指令。
程序运行的过程就是CPU执行指令的过程。
操作系统还拥有:
内核程序、应用程序。
特权指令、非特权指令。
内核态/核心态/管态、用户态/目态
难点
如何变态
内核态->用户态:修改一条PSW的特权指令 用户态->内核态:由中断引起,硬件自动完成
中断和异常
中断的作用:让操作系统内核强行夺回CPU控制权,使得CPU从用户态变为内核态。
中断的分类
内中断:陷入、故障、终止
外中断:时钟中断、IO中断请求。
中断机制的基本实现原理:检查中断信号、找到相应的中断处理程序。
重点
系统调用
什么是系统调用?
操作系统对应用程序或程序员提供的接口。
系统调用与库函数的区别?
有的库函数是对系统调用的进一步封装
有的库函数没有使用系统调用
为什么系统调用是必须的?
保证系统的稳定和安全,就比如打印两份文件,一份作为备份。
什么功能需要调用实现1?
设备管理、文件管理、进程管理、内存管理、进程通信。
系统调用的过程?
传参、陷入指令/Trap/访管
由操作系统内核程序处理系统调用请求。
返回应用程序。
操作系统的体系结构
大内核:将主要功能模块都作为系统内核、运行在核心态。
优点:高性能
缺点:内核代码庞大,结构乱、不好维护。
微内核:只把最基本的功能保留在内核
优点:内核功能少,结构清晰,方便维护。
缺点:需要频繁地在核心态和用户态之间切换,性能低。