【考前完整复习】操作系统计算题与大题

前言

这是我在期末考试期间整理的操作系统计算题与大题,一篇文章帮助大家顺利度过期末考试,建议收藏!!!希望大家都能顺利通过考试。

1、逻辑地址物理地址的转换

一个数对应的物理地址(带公式)

例题1
例题2
例题3
例题4
2、作业优先调度算法

作业优先调度算法:周转时间、带权周转时间(先来先服务算法、短作业优先调度算法)

先来先服务算法

先来先服务算法指的是按照作业/进程到达的先后顺序进行服务的,主要从“公平”的角度考虑。用于作业调度时,考虑的是哪个作业先到达后备队列;用于进程调度时,考虑的是哪个进程先到达就绪队列,是非抢占式算法,不会导致饥饿(某进程/作业长时间得不到服务)

短作业优先算法(SJF)

短作业优先算法追求最少的平均等待时间,最少的平均周转时间,最少的平均带权周转时间,即让最短的作业/进程得到服务(最短为服务时间最短),既可用于作业调度,也可用于进程调度。用于进程调度时称为“短进程优先”(SPF)算法。SJF和SPF是非抢占式得算法,但是也有抢占式的版本——最短剩余时间优先法。会产生“饥饿”现象(如果源源不断的有短作业/进程到来),可能使长作业/进程长时间得不到服务,产生“饥饿”现象。如果一直得不到服务,则称为“饿死”。

高响应比优先调度算法(HRRN)

要综合考虑作业/进程的等待时间和要求服务的时间。在每次调度时先计算各个作业/进程的响应比,选择响应比最高的作业/进程为其服务

3、页面置换算法

重点看一下最佳置换算法和先进先出页面置换算法

请求分页系统中,会计算lru页面置换算法,先进先出页面置换算法,计算淘汰哪一个;(书上有图)(P176)

例题1

解答:

4、银行家算法

银行家算法(P122):判断T0时刻是否安全,若安全,则排出安全序列;进程请求资源,若满足,则再写出安全序列;

举例

假定系统中有五个进程{P0,P1,P2,P3,P4} 和 三类资源{A,B,C} 各种资源的数量分别为10、5、7。 系统中T0时刻的资源分配情况:

(1)考察系统在T0时刻的安全性? (2)P1请求资源Request(1,0,2)? (3)P4请求资源Request4(3,3,0)? (4)P0请求资源Request(0,2,0)?

解答:
(1) 判断T0时刻的安全性(根据3.6.3.2 安全性算法)
(2) T0时刻时,P1请求资源发出请求向量Requset1(1,0,2),系统能否分配给它?

利用3.6.3.3 银行家算法的处理步骤:

① Requset1 (1,0,2) <=Need1 (1,2,2)

② Requset1 (1,0,2) <=Available(3,3,2)

③ 试探分配,修改相关值

Avaliable= (3,3,2)-(1,0,2)=(2,3,0)

Allocation1=(2,0,0)+(1,0,2)=(3,0,2)

Need1=(1,2,2)-(1,0,2)=(0,2,0)

则资源变化为如下表。

④ 再利用3.6.3.2 安全性算法检查此时系统是否安全。

存在安全队列{P1,P3,P4,P0,P2},所以该时刻安全,可以立即将P1所申请的资源分配给它。

(3) 此时,P4请求资源发出请求向量Requset4(3,3,0),系统能否分配给它?

利用银行家算法: ① Requset4 (3,3,0) <=Need4 (4,3,1) ② Requset4(3,3,0)>Available(2,3,0) 此时P4等待。

(4) 此时,P0请求资源发出请求向量Requset0(0,2,0),系统能否分配给它?

利用银行家算法:

① Requset0(0,2,0)<=Need0 (7,4,3)

② Requset0(0,2,0)<=Available(2,3,0)

③ 试探分配,修改相关值

Avaliable= (2,3,0)-(0,2,0)=(2,1,0)

Allocation0=(0,1,0)+(0,2,0)=(0,3,0)

Need0=(7,4,3)-(0,2,0)=(7,2,3)

④ 再利用安全性算法检查此时系统是否安全。很容易看出,可用资源Available(2,1,0)已无法满足任一进程的需求,试探作废,不分给P0资源,P0等待。

例题1
例题2

解答:

5、PV操作(较难)

PV操作:生产者消费者问题,图书馆1000个学生,一个出入口,一次只允许一个学生通过,题中会有伪代码,由学生自行补全代码;(同步互斥访问);

学习通例题(重点看这道题)

解答:

作业帮例题
6、磁盘调度算法

磁盘调度算法(四种):最短寻到时间优先算法、扫描(电梯)算法,先来先服务,循环扫描(见书上图表)

考题形式问:假设磁头在哪一个位置,根据这两种算法,求出访问序列,计算平均寻到距离

以下是此题解法

先来先服务算法(FCFS)

就先来先服务算法根据磁道访问请求到来的先后顺序完成请求

最短寻道时间优先算法(SSTF)

最短寻道时间优先算法总是优先满足距离磁头当前位置最近的访问请求。

电梯调度算法(扫描算法SCAN)

对于先后到达的磁盘访问请求,电梯调度算法首先选择移臂方向,磁臂在该方向上移动的过程中依次处理途经的各个访问请求,直到该方向上再无请求时,改变移臂方向,依次处理相反方向上遇到的各个请求。如果同一柱面上有多个请求,还需进行旋转优化。

循环扫描算法(C-SCAN)

在该算法中,磁头仅在一个移动方向上提供访问服务。 磁臂从磁盘开始端柱面至结束端柱面移动的过程中依次处理途经请求,然后,直接返回开始端柱面重复进行,归途中并不响应请求。开始端与结束端柱面构成了一个循环。

7、动态优先级(P111)【去年考了,今年可能考,大概率不考】

书上原图,看懂,为什么可以解决优先级倒置