活跃就绪相当于就绪,活跃阻塞相当于阻塞
将活跃转为静止是挂起,将静止转为活跃是激活
运行态可以直接通过挂起转为静止就绪
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CWaQVp2U-1679403936012)(/assets/前趋图.png)]
互斥的反义词是共享,同步(需要等待)的反义词是异步
临界资源:进程间互斥进行共享的资源
临界区:每个进程中访问临界资源的那段代码
信号量
P(S) {S--;if(S <= 0) 将当前进程挂起
}V(S) {S++;
}
S1 = 1;
S2 = 0; // 一开始消费者是没有东西可消费的,不能让他先开始生产者:生产一个产品P(S1);送产品到缓冲区V(S2);消费者:P(S2);从缓冲区取产品V(S1);消费产品
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r8zUQYqM-1679403936013)(/assets/前趋图+PV操作.png)]
技巧:在每个箭头的出发点加一个 V 操作,在每个箭头的终点加一个 P 操作
给每个进程分配它需要的资源数 -1 个,然后再来一个资源,一定不会发生死锁
(∑i=0N(counti−1))+1(\sum_{i=0}^N (count_i-1)) + 1(i=0∑N(counti−1))+1
死锁的四大条件:
破坏其中一个条件即可预防
先把资源分给 A 进程,再分给 B 进程,再分给 C 进程。。。
核心思想:评估该进程是否能及时归还资源,如果不能,就不将此资源放出去
例题:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l9de686Z-1679403936014)(/assets/银行家算法例题.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kkvdh7IW-1679403936014)(/assets/银行家算法做题思路.png)]
将整个内存分区化
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0VM7SsHa-1679403936014)(/assets/页式存储1.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TtVnSwBS-1679403936015)(/assets/页式存储2.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KWshwYfz-1679403936015)(/assets/段页式存储例题.png)]
物理地址的求法:
页号
和 页内地址
分开:根据页面大小物理块号
(页帧号
)淘汰页的求法:
页式存储一个 页
容量是固定的
段式存储的 段
,则是以进程为单位,按逻辑结构划分
地址结构:段号
+ 段内地址
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0lmzS6Qw-1679403936015)(/assets/段式存储.png)]
先分段,再分页
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XgnsE5Kr-1679403936015)(/assets/段页式存储.png)]
快表是由 cache 组成(而非内存)
用于存放访问最频繁的 页表
把哪个页淘汰出去的算法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ajpQtEE5-1679403936016)(/assets/访存次数与缺页次数联系.png)]
B C
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PnyEIVPi-1679403936016)(/assets/第二问.png)]
多级索引不指向物理盘块,而是指向下一级索引的地址
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JC8mQafe-1679403936016)(/assets/索引文件结构.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q0R1uZeG-1679403936016)(/assets/文件索引例题.png)]
CD
管理空闲存储空间的四种方法:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J7l8CBMJ-1679403936017)(/assets/位示图法.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RT4dhi8q-1679403936017)(/assets/位示图法例题.png)]
D B
注意所有的编号都是从 0 开始
ABCD 争用打印机
微内核操作系统只实现基本功能,把图形系统,文件系统,设备驱动和通信功能放在内核之外
优点:精炼,系统服务程序运行在用户地址空间,可靠性安全性高
缺点:用户态内核态需要频繁切换,效率低