操作系统计算题复习(逻辑地址与物理地址转换、进程状态转换、作业调度、进程调度、pv操作、死锁、银行家算法、动态分区分配算法、页面置换算法、内存管理)

内存保护中界地址寄存器与重定位寄存器的使用

在这里插入图片描述

进程状态转换

在这里插入图片描述

调度

三层调度(高级作业调度、中级内存调度、低级进程调度)

在这里插入图片描述

调度算法评价指标

在这里插入图片描述

作业调度算法:

https://www.bilibili.com/video/BV1YE411D7nH?p=16

周转时间=完成时间-到达时间
带权周转时间=周转时间-运行时间

先来先服务FCFS

(到达时间越早,就越先,在这题中FCFS的执行顺序为:1234)
在这里插入图片描述
在这里插入图片描述

短作业优先SJF

(到了的,选运行时间短的,比如8:00的第一个运行完之后是10:00,因为10:00另外三个都到了,运行时间最短是3的25分钟,所以执行第三个,在这题中SKF的执行顺序是:1342)
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

高响比调度HRRN(高响比越大越优先)

ps:避免了短作业优先算法造成的长作业饥饿问题

高响比=(等待时间+运行时间)/运行时间

等待时间=上一个作业的完成时间-本作业的到达时间。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

进程调度算法:

https://www.bilibili.com/video/BV1YE411D7nH?t=1431&p=17

时间片轮转算法RR:

用到了队列

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

非抢占式优先级调度

在这里插入图片描述

抢占式优先级调度

在这里插入图片描述

多级反馈调度算法:

在这里插入图片描述
在这里插入图片描述

进程互斥

在这里插入图片描述
在这里插入图片描述

pv操作

整形信号量

在这里插入图片描述

记录型信号量

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
###pv书写
在这里插入图片描述

例题,代码4要在代码2之后操作

在这里插入图片描述

生产者消费者问题

ps:这里的进程里面的p操作的empty和mutex的两个顺序不能交换因为会引起死锁。
但v操作的mutex和full的两个顺序能交换,但是最好还是写成下面这个样子。

同步:当缓冲区为满时,生产者需等待消费者消费,当产品数为空时消费者需等待生产者生产。

互斥:对缓冲区的访问要互斥进行
在这里插入图片描述

多消费者多生产者

在这里插入图片描述
在这里插入图片描述
也可以不设置互斥变量,因为盘子只有一个,相当于已经互斥了,但如果盘子有两个的话,就得设互斥变量(防止临界变量覆盖)
在这里插入图片描述
在这里插入图片描述

吸烟者问题

也不用设互斥信号量
在这里插入图片描述

哲学家进餐问题 semaphore

在这里插入图片描述

死锁

在这里插入图片描述

死锁的避免:

如果系统处于安全状态,就一定不会发生死锁。
如果系统进入不安全状态,就可能发生死锁。
如果系统发生死锁,就一定在不安全状态。

银行家算法:

在这里插入图片描述

能找到安全序列:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

死锁的检测:

当不能消除所有边,就是发生了死锁
在这里插入图片描述

比如上面的例题,至多只能消除成这样,消除不了全部
在这里插入图片描述
下面这道是可以消除全部的
在这里插入图片描述
在这里插入图片描述

死锁的解除

在这里插入图片描述

动态分区分配算法:

https://www.bilibili.com/video/BV1YE411D7nH?p=37
在这里插入图片描述

①首次适应算法

地址递增
在这里插入图片描述

②最佳适应算法

为保证大进程来的时候有空间,所以,容量递增排列(优先使用小的空闲区)

ps:会产生很多外部碎片
在这里插入图片描述

③最坏适应算法

容量递减排列(优先使用大的空闲区)
在这里插入图片描述

④邻近适应算法

在这里插入图片描述

在这里插入图片描述

页面置换算法:

原因-快表

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

①最佳置换算法OPT

最不容易产生抖动

每次选择淘汰的页面,这个页面是以后永不被使用的页面或者是以后最长时间内不被使用的页面,这样能保证最低的缺页率
在这里插入图片描述
发生了调页就会有缺页中断
但只有 没有空闲的内存块的时候,才会发生页面置换

在这里插入图片描述

②先进先出置换算法FIFO

最容易产生抖动

看谁先进来就先出去,不管后面有没有再次访问
在这里插入图片描述
在这里插入图片描述

③最近最久未使用算法LRU

看谁最近没有被访问到就退出谁
在这里插入图片描述

内存管理(地址变换)

基本分页中,逻辑地址的二进制表示(页号+页内偏移量)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

地址变换机构

https://www.bilibili.com/video/BV1YE411D7nH?p=39
在这里插入图片描述

上面流程图意思:

在这里插入图片描述

在这里插入图片描述

分段存储管理地址计算小结

在这里插入图片描述

二级页表计算

在这里插入图片描述

多级页表计算

在这里插入图片描述

n级页表的访存次数为n+1次

在这里插入图片描述
在这里插入图片描述

段页式管理

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44575911/article/details/112459937