(图片均来自中国大学mooc王道os课程)
一、框架
1.概述
2.进程管理
3.内存管理
4.文件管理
5.输入输出(I/O)管理
二、基本概念
操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源地分配;以提供给用户和其他软件方便地接口和环境;它是计算机系统中最基本的系统软件。
①系统资源的管理者:进程管理、内存管理、文件管理、输入输出(I/O)管理
②向上提供方便易用的服务(封装的思想):
用户接口子系统——直接给用户使用
基础平台子系统——给软件/程序员使用,系统调用
③最接近硬件的一层软件
联机命令与脱机命令区别在于说一句做一句还是说一堆做一堆
三、四个特征
1.并发性
并发:两个或多个事件在同一时间间隔内发生。宏观上同时,微观上交替。通过分时实现。
eg:9:10-9:20吃面包,9:20-9:30写作业,那么9:10-9:30间两行为并发。
并行:两个或多个事件再同一时刻同时发生。
eg:一边吃面包一边写作业。
os的并发性指计算机系统中"同时"运行着多个程序,这些程序宏观上看是同时运行的,微观上是交替运行的。
四核cpu最多4个程序并行,
2.共享性
互斥共享:一个时间段中允许一个进程访问资源。资源叫临界资源:eg:打印机。
同时共享:同时读数据。"同时"往往是宏观上的 ,而在微观上可能是交替地对该资源进行访问的,即分时访问。
共享与并发互为存在条件
3.虚拟性
把一个物理上的实体变为若干个逻辑上的对应物。逻辑实体是实际存在的,而逻辑上的对应物是用户感受到的。
空分复用:eg:虚拟存储器
时分复用:eg:处理器的分时共享
没有并发性也太不上虚拟性。
4.异步性
进程执行时走走停停的,不是一贯到底的。
只有拥有并发性,才有可能导致异步性。
四、发展与分类
1.手工操作阶段(无操作系统)
串行处理,纸带打孔手动输入输出,。用户独占全机,CPU等待手工操作,利用率低。
2.批处理阶段
(1)单道批处理系统
自动性:作业自动依次装入磁带
顺序性:磁带上的作业顺序进入内存
单道性:内存中仅有一道程序运行
输入输出更快了,但只有内存中的程序运行结束了才能调入下一道程序,CPU大量时间在空闲等待I/O完成,利用率仍低。
(2)多道批处理系统
3.分时操作系统
一时间片为单位轮流为各个用户/作业服务。
优点:用户请求可以被及时响应,解决了人机交互问题。
缺点:不能优先处理一些紧急任务。因为os对每一个用户/作业都完全公平,不考虑优先级。
4.实时操作系统
5.其它
网络os、分布式os。
五、os的运行机制
1.两种指令、程序、处理器状态
内核程序:操作系统内核作为"管理者",有时会让cpu执行"特权指令"(指计算机不允许用户直接使用的指令)
eg:内存清0指令、置中断指令
应用程序:只能使用"非特权指令",eg:加减法
内核态=核心态=管态:说明正在执行的时内核程序,可以执行特权指令。
用户态=目态:说明正在执行的时应用程序,只能执行非特权指令。
CPU中程序状态寄存器(PSW)中有个二进制位,1表示"内核态",0表示"用户态"。
内核->用户:执行一条特权指令——修改PSW,os主动让出CPU使用权。
用户->内核:"中断"引发,硬件自动完成变态过程,触发中断信号意味着os强行夺回CPU的使用权。
2.中断和异常
中断是让OS内核夺回CPU使用权的唯一途径。现代os是靠中端驱动的软件。
内中断(异常):与当前执行的指令有关,中断信号来源于CPU内部。
eg:应用程序的陷入指令,应用程序主动让出CPU给os内核,"系统调用"就算通过陷入指令完成的。
地址越界、虚存系统缺页
外中断(中断):与当前执行的指令无关,中断信号来源于CPU外部。
eg:时钟中断——有时钟部件发来的中断信号,可以用于进程的切换。
I/O中断——由输入输出设备发来的中断信号。
3.系统调用
用户在程序中调用os所提供的一些子功能,可被看作特殊的公共子程序。
应用程序可以通过系统调用来请求获得操作系统内核的服务。
4.os的体系结构
六、本章小结