复试OS
信号量
死锁
死锁预防
- 即保证系统不进入死锁状态的静态方法
- 破除4个必要条件:
- 互斥条件(系统一般都得有,难以破除)
- 请求和保持条件
- 不可剥夺条件
- 环路等待条件
死锁避免
具体算法(#TODO)
死锁检测和解除
检测
- 资源分配图
解除
- 资源剥夺法
- 撤销进程法
- 进程回退法
系统调用
虚拟存储器
- 基于局部性原理
- 进程调取一部分到内存,剩余的留在磁盘,给用户的感觉是,一个大程序在小内存上运行,认为的内存比实际的大很多。(部分装入+部分替换,逻辑>物理)
- 虚拟存储技术(Virtual Memory)和分区管理(Partitioned Memory Management)不能配合使用,主要是因为它们的内存管理方式存在根本性冲突。
- 虚拟存储技术采用分页(Paging)或分段(Segmentation)机制,使得进程可以部分加载到内存,剩余部分存放在磁盘上。
- 分区管理要求进程必须完整地装入内存才能运行,且内存空间是连续的。
空分复用
与虚拟存储器概念不同
- 利用存储器的空闲空间分区域存放和运行其他的多道程序,以此来提高内存的利用率。
时分复用
- 疯狂地切换进程,看起来每个进程都在跑
设备独立性
- 用户程序不直接使用物理设备名,只使用逻辑设备名;系统实际执行时,将逻辑设备名转换为具体的物理设备名,实施I/O操作。
OS特征
- 并发性
- 共享性
并发和共享是两个最基本特征
- 虚拟性
- 异步性
OS功能
- 处理机管理
- 存储器管理
- 文件管理
- 设备管理
- 用户接口
SPOOLing技术
- 输入井、输出井以作为缓冲
- 解决速度不匹配的问题
抖动
- 频繁出现缺页(因为分配的物理块太少)(驻留集),∴频繁请求页面调入内存。
- ∴对磁盘的访问时间急剧增加,造成每个进程的大部分时间用于页面的换入/换出,而几乎不能去做任何有效的工作。∴CPU利用率急剧下降并趋于零。
驻留集
- 系统进程分配物理块的多少
工作集
- 在某段时间间隔内,进程要访问的页面集合。
- 驻留集大小不能小于工作集
操作系统为用户提供的接口
- 命令级接口-给用户(老百姓)
- 程序级接口-给程序员,提供系统调用来请求操作系统提供服务
磁盘调度算法
- 平均寻道长度=磁道移动的数量/请求个数
FCFS(come、served)
最短寻道时间优先SSTF(每次找最近)
(Shortest Seek Time First, SSTF)
SCAN(移动到最外侧,哪怕没请求到)
- 需要到达磁盘端点
- 又称电梯调度算法
循环扫描C-SCAN
- 加个C就是跑回来的时候不处理请求(C-circular-循环)
LOOK
- 只需移到最远端的请求即可,不需到达磁盘端点
C-LOOK
- 加个C就是跑回来的时候不处理请求(C-circular-循环)
有快表,请求分页
过程
- p-页号,f-页表始址,d-页面偏移量
- TLB-快表
寻址
PV操作
请求分页系统的缺页算法
重点没看部分:
PV难点
时钟置换(CLOCK/NRU)+改进时钟
文件系统索引/地址等大题
段页式
操作系统大题考前1-2天 蓬蓬学长
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.