一:操作系统概述
1. 用户界面是指
-
用户接口
命令接口
程序接口
-
操作环境
2. 从用户观点看
操作系统就是用户与计算机硬件之间的接口
3. 从资源管理观点看
操作系统是计算机资源的管理者
4. 图形用户接口采用图形化操作界面
用于查看和操作应用程序或文档的是对话框
5. 用户程序请求操作系统服务
通过访管指令实现
6. 操作系统供给应用程序的接口是
系统调用
7. 操作系统主要功能
进程和处理机管理。存储器管理,设备管理,文件管理及接口管理
8. 操作系统提供的用户接口
-
脱机用户接口
将作业说明书和作业一起交给系统,让其按说明要求运行作业
-
联机命令接口
通过命令行终端键入dir/is查看当前目录
-
系统调用接口
使用open()打开一个文件
9. 分时系统的响应时间主要根据
用户所能接受的等待时间确定的
10. 多道程序的特征
间断性,共享性,制约性
11. 访管指令
将用户态转变为核心态 ,因此在用户态执行
12. 系统调用
本质上就是一个存放内核封装好的函数指针;广义指令就是系统调用
系统调用发生在用户态,执行在核心态
系统调用专门供应应用程序使用的界面
13. 用户使用计算机
通过命令方式和系统调用方式
14. 按命令控制方式分为
联机用户接口,脱机用户接口
15. 系统中的缓存
对用用户是透明的,不可见;由系统管理
16. 发生和执行
外部中断:可以发生在用户态,但执行在核心态
进程切换:一定发生在核心态,执行在核心态
17. 库函数
许多库函数会使用系统调用实现功能,但有的完全不使用
库函数能运行在用户空间
18. 只能在核心态执行的指令
涉及计算机根本运行的:屏蔽所有中断,设置时钟日期,停机
涉及系统级资源的修改
19. 分层式架构
结构清晰,便于调试,有利于功能增加修改或替换
20. 大内核
高新能,内核代码大,结构混乱,难以维护
21. 微内核
内核功能少,结构清晰,方便管理,更加稳定,性能低
几乎不做任何工作,仅提供:
- 进程间通信机制
- 中断和陷入处理
- 有限的低级进程管理和调度
- 低级I/O
22. 虚拟机
可以由软件或硬件实现
软件能实现的功能硬件也能实现
22. Spooling技术
欺骗进程拥有资源,利用缓冲区使进程排队延迟访问独占资源,实现独占资源的共享
23. 覆盖与交换
在多道程序环境下用于扩展内存的两种方式
24. 子程序调用
只需保存程序断点
25. 中断处理中保护的内容
由硬件自动将处理及状态字PSW和程序计数器PC中下一条指令的地址保存在中断保留栈中
保存被中断进程的CPU现场信息,包括所有CPU寄存器的内容都压入中断栈
寄存器信息由操作系统保存
26. 多道程序发挥并行工作能力
是CPU与外设之间
二:进程管理
1. 程序与进程
进程是动态的;程序是静态的
一个程序可以对应多个进程,一个进程在一个时间只能对应一个程序,当在进程的生命周期中可以执行无数个程序
进程是程序的一次执行
2,创建到就绪
I/O操作频率值增加;CPU利用率可能上升或下降;进程的平均响应时间增加
3,临界资源释放
临界资源只能提供一个进程使用
会引起一个等待的进程进入就绪
4. 进程自身决定
从运行态到阻塞态
5. 进程调度
动态地把处理机分配给处于就绪队列中的某一个进程,以使之执行。这就是进程调度
6.多线程进程
某个线程被阻塞整个进程都被阻塞
7. 键盘响应
由系统中断完成不需要多线程
8. 信号量=0时
表示临界资源用完且无阻塞进程
9. 互斥使用
信号量初值设置为1
10. 正常运行
每个变量的值都要是能唯一确定的
11. 互斥算法的三个正确性条件
- 互斥性原则:任何时刻只能由一个进程处于临界区
- 进展性原则:如果该进程不在它的临界区执行,那么不应该阻止其他进程进入该临界区执行
- 有限等待性原则:某个进程进入一个临界区应该在有限时间内完成。
12. 线程
包含CPU现场可独立执行程序
同一进程线程可以直接交换数据
13.互斥操作
两个不同进程间的全局变量不能互通
14:管道通信
管道可以双向数据传输,但同一时刻只能一边传数据
管道容量通常为内存的上一页,与不受磁盘容量限制
管道满时,写管道会阻塞;管道空时,都管道会阻塞
三:处理机调度和死锁
1. 三级调度
- 高级调度:作业调度,作业调入内存
- 中级调度:内存调度,选择一个进程调出外存,再从外存调入到主存
- 低级调度:进程调度,就绪进程调入处理机
2. CPU调度算法
n个进程有n!个调度顺序
面向系统:吞吐量高,处理机利用率高,各类资源的平衡利用
面向用户:周转时间短,响应时间快,截至时间保证,优先权准则
多重队列算法:将进程分队列,每个队列使用的调度算法都不同
多级队列:系统开销大
高响应比和短进程优先适合批处理
时间片轮转和多级反馈队列适合分时系统
短作业优先提高系统吞吐量
高响应比算法若同时到达相当于短作业优先算法
3. 死锁
-
死锁预防
破坏四个必要条件之一
即互斥条件,请求和保持条件,不可剥夺条件,循环等待条件 -
死锁避免
银行家算法
-
死锁检测和解除
四,内存管理
1. 分页式存储管理地址变换工作由硬件完成
2. 页式存储选择页面大小不考虑磁盘访问时间
3. 页式存储运行过程中可能改变程序的位置
4. 页表的起始地址存放在页表起始址寄存器
5. 每个进程船舰一张页表
同一进程的线程共用一张页表
6. 多级页表优点
减少页表所占的连续内存空间
7. 段页式内存管理
地址结构:段号+段内页号+页内地址(位移量)
8. 段号超出段表长度引发
越界中断
9. 程序分段
在用户编程时决定
10. 两个进程共用同一个存储段
让进程各自的段表拥有相同的段起始地址和段长度
11. 引入段表
方便编程;信息共享;信息保护;动态链接;动态增长
12. 缺页中断
页号合法但对应页没调入内存产生缺页、
越界中断,页号不存在不合法
若页表大包含页表项多,进程找不到对应页号概率就小,换的次数就少,缺页中断次数就少
- 找到空闲或置换页框分配给缺的页
- 从磁盘调入缺页
- 修改页表标志位,物理页框号等
13. 请求分页式存储与基本分页式存储
均有:
- 页号
- 物理块号
请求分页式多四个字段:
- 状态位:是否调入内存
- 访问字段:记录最近被访问次数
- 修改位:记录是否修改过
- 外存地址:页面在外存存放位置
请求式主要特点:扩充内存
14. 引用串
引用串就是该程序一段时间内需要调用的页号序列,例如p = 1 2 3 3 2 1 4 5 6 2 2。
15. 缺页次数
缺页次数最理想的情况是 有n个不同的页号,每个页号肯定且仅发生缺页一次,那么下限为n;
(前提 驻留集<n)最糟糕的情况是每次访问某个页号时都发生缺页(重复访问时也发生缺页),那么此时跟引用串有关系,引用串长度p就为缺页次数上限 p。
16. 交换区
交换区,也叫Swap分区,是在系统的物理内存不够用的时候,把硬盘内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。
17. 对各进程进行固定分配页面数目不变,不可能全局置换
准备或运行时,
-
固定分配:
给进程的 每个物理块
分配数量固定,
运行时数量固定,按照分配数量。 -
可变分配:
分配数量固定,
运行时数量不固定。
缺页时,
-
局部置换:
缺页进程独立,
置换分配给自身的物理块。 -
全局置换:
从操作系统中抠一块给缺页进程;或者从其他进程抠一块下来,经过外存,又调回给缺页进程。
为什么没有固定分配–全局置换?
因为,固定分配要求自身缺页时,替换自身;不能要求其他进程的置换,与全局置换相悖。