上午题-9-操作系统
[toc]
操作系统地位
进程管理
前趋图(顺序执行)
程序顺序执行时的主要特征:
- 顺序性
- 封闭性
- 可再现性
PV操作
前驱图(并发执行)
进程的三态模型
阻塞态也叫等待或睡眠状态
进程的五态模型(了解即可)
同步和互斥
信号量机制和PV操作
利用pv操作实现进程的互斥
信号量mutex初值为1
利用PV操作实现进程的同步
生产者和消费者问题
单缓冲区
S1相当于课本的empty
S2相当于课本的full
多缓冲区
S相当于实现互斥信号量mutex
死锁
只要满足m>=n*(k-1)+1那就不会发生死锁
m为资源数量,n为进程数量,k为每个进程需要的资源数量
进程资源图
先分配,再申请
R1指向p1表示分配
全部为阻塞,不可化简,死锁
死锁的处理
死锁的处理的策略
- 鸵鸟策略(即不理睬策略)
- 预防策略(破坏死锁的4个必要条件之一)
- 避免策略(银行家算法)
- 检测与解除死锁
银行家算法
线程
线程——调度和分配的基本单位
进程——独立分配资源的单位
线程也具有就绪、运行、阻塞三种基本状态
线程可与同属一个进程的其他线程共享进程所拥有的的全部资源
局部性原理
淘汰顺序:
最近没有使用和没有修改的
最近没有使用和修改了的
最近使用了和没有修改的
最近使用了和修改了的
1.先看状态位,为1表示在内存,淘汰在内存的
2.先看访问位,先淘汰访问位为0的(即最近未访问的)
- 如果有多个,再看修改位,淘汰修改位为0的(未修改过的)
3.如果访问位都为1,看修改位,淘汰修改位为0的(未修改过的)
存储管理
分页存储管理
页帧号,类似于物理块号
页面大小4KB,2^12,后面12位是页内地址
段页式存储管理
缓冲区
单缓冲区
双缓冲区
磁盘调度算法
先来先服务(FCFS)
最短寻道时间优先(SSTF)
扫描算法(SCAN)或电梯调度算法
循环扫描算法(CSCAN)单向扫描算法
旋转调度算法
读取2ms,然后处理4ms,也就是读写头停在了C、D分界线处。然后要读B,转到B需要16ms,所以一个周期是2+4+16=22ms。
然后由于最后一个处理完之后不需要去下一个,所以是22*9+2+4=204ms
优化方案
让读写头读写处理后A之后刚好在B的位置,后面的也是如此
所以时间是6*10=60ms
文件管理
多级索引管理
例题
文件目录
目录结构
例题
位示图
例题
0开始编号,0-4095
4096/32=128
4096在129
200GB/1MB/32=6400
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Torch's blog!