[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