目录
第三章、操作系统基本原理
1. 进程管理
1.1 进程的状态
1.2 前驱图
1.3 进程的同步和互斥
同步和互斥不是互为反义词。
同步的反义词是异步,互斥的反义词是共享。
1.4 PV操作
1.5 死锁问题
k个进程,每个进程需要m个资源。则系统提供资源总是n=k*(m-1)+1,为系统不可能发生死锁的最少资源。
死锁的预防和避免。
- 互斥:资源不共享。
- 保持和等待:当资源不满足时,执行保持和等待,等待其他进程释放资源。
- 不剥夺:系统不会剥夺已经分配的资源。
- 环路等待:A等B资源,B等C资源,C等A资源。
有序的资源分配:资源依次分配个A,B,C进程,依次保持执行完成。但是资源利用率低。
银行家算法:以银行房贷的方式。
2. 存储管理
2.1 页式存储组织
页的大小必须一致,例如4K。
2.2 段式存储
段的大小根据程序的函数大小分,可能为30k,也可能为10k。段的大小可能不一致。
2.3 段页式存储
2.4 块表
2.5 页面置换算法
OPT属于理论层面的算法。RAND具有随机性。
常考察FIFO和LRU。
FIFO算法:
分配4个资源位比3个资源位产生缺页更多,产生了“抖动”。
FIFO和LRU算法对比:
3. 文件管理
3.1 索引文件结构
一般索引节点是13个节点。分为直接索引和一级、二级、三级间接索引。
假定一个物理盘块大小为4K,一共13个节点都为直接索引,那么文件大小为13*4K=52K。大小太小了。
假定0-9号为直接索引,那么前10块大小为10*4K=40K。
第10个节点为一级间接索引,10号指向一个物理盘块,盘块存储4K大小的地址,假定每个地址大小为4字节,索引存储了4K/4=1K个地址,则可以指向的大小为1K*4K=4M大小。
第11个节点为二级间接索引,11号指向一个物理盘块,盘块存储4K大小的地址,假定每个地址大小为4字节,其中每个地址有指向一个物理盘块,二级物理盘块每个也是地址。二级物理盘块指向的才是数据,所以一共有(4K/4)*(4K/4) = 1M个地址,实际可以指向的大小为1M*4K=4G大小。
同理,第12号节点为三级间接索引,指向地址大小为1K*1K*1K*4K=4TB大小。
但是间接级数越多,效率越低。
3.2 空闲存储空间的管理
- 空闲区表法:用表纪录空闲地址。
- 空闲链表法:将空间地址使用链表纪录。
- 位视图法:使用0表示空闲,1表示占用。
主要考察位视图法的计算。
3.3 文件和树形结构
主要考察绝对路径和相对路径。