前排说明:详细与清晰的文件在最后的excel表里,可以不看下面内容的
说明:
作业调度算法须知
公平竞争-> | RR :每人按顺序吃一块时间片 | |||||||||||
按顺序执行-> | FCFS:按顺序吃完时间片到下一个吃 | |||||||||||
最短作业优先-> | SJF:按执行的时间顺序吃时间片 | |||||||||||
非剥夺式优先级:按照优先级吃时间片 | ||||||||||||
电梯算法-> | SCAN 调度:先处理所有指针方向的请求,然后再处理相反方向的请求。(处理前先排序再执行) | |||||||||||
最短寻道时间优先-> | SSTF调度:处理距离[目前]指针位置最短的数 | |||||||||||
平均周转时间=总周转时间/作业数 | ||||||||||||
带权周转时间=各(作业周转时间/执行时间)之和/作业数 |
磁盘调度须知:
FIFO:先来先执行-> | 反正就是磁头按顺序跑 | |||||||||||
SSTF:最短寻道时间优先-> | 选离磁头最近的先执行 / 处理距离[目前]指针位置最短的数 | |||||||||||
SCAN:电梯算法(到尽头)-> | 按照排序和磁头方向移动,直到边界才改变方向 | |||||||||||
LOOK:电梯算法(不到尽头)-> | 按照排序和磁头方向移动,不用到边界,完成该方向最后一个请求就可以改变方向 | |||||||||||
C-SCAN:循环电梯算法(到尽头)-> | 按照排序和磁头方向移动,直到边界才改变方向到另外一边的尽头继续向原磁头方向开始 | |||||||||||
C-LOOK:循环电梯算法(不到尽头)-> | 按照排序和磁头方向移动,不用到边界,完成该方向最后一个请求立即改变方向到最边的磁头,继续向原磁头方向开始 |
1、作业调度-题目
在一个单道批处理系统中,一组作业的提交时刻和运时间如下表所示:(橙色的非题目提供) 采用短作业优先的作业调度算法,请给出作业的调度次序并计算平均周转时间T。 |
作业 | 提交时间 | 运行时间(分钟) |
1 | 8:00 | 50 |
2 | 8:30 | 60 |
3 | 9:10 | 20 |
4 | 9:30 | 10 |
答案:
2、页面置换-题目
在一个请求分页系统中,采用 LRU页面置换算法时,假如一个作业的页面走向为1,3,2,1,1,3,5,1,3,2,1,5,当分配给该作业的物理块数分别为3和4时,试计算在访问过程中发生的缺页次数和缺页率。
答案:(仅做物理块数为3的答案,但有LRU、FIFO、OPT的算法)
最近最久未使用置换算法(LRU): 人话:需要置换的是前面距离最远没有访问的(访问顺序),如果前面出现了相同的,就跳过那一时刻执行下一个访问顺序 | ||||||||||||
1 | 3 | 2 | 1 | 1 | 3 | 5 | 1 | 3 | 2 | 1 | 5 | |
1 | 1 | 1 | 1 | 1 | 1 | |||||||
3 | 3 | 3 | 3 | 5 | ||||||||
2 | 5 | 2 | 2 | |||||||||
先进先出置换算法(FIFO): 按顺序替换块数,如果另外一个时刻替换块数的位置和之前的重复了,则跳过到下一时刻执行(块数替换不变) | ||||||||||||
1 | 3 | 2 | 1 | 1 | 3 | 5 | 1 | 3 | 2 | 1 | 5 | |
1 | 1 | 1 | 5 | 5 | 5 | 2 | 2 | |||||
3 | 3 | 3 | 1 | 1 | 1 | 5 | ||||||
2 | 2 | 2 | 3 | 3 | 3 | |||||||
最佳置换算法(OPT): 人话:需要置换的是后面不会再出现的(访问顺序),如果后面出现了,就跳过那一时刻 | ||||||||||||
1 | 3 | 2 | 1 | 1 | 3 | 5 | 1 | 3 | 2 | 1 | 5 | |
1 | 1 | 1 | 1 | 1 | ||||||||
3 | 3 | 3 | 2 | |||||||||
2 | 5 | 5 | ||||||||||
说明: | 要替换的1在132中有出现,跳过 | 要替换的1在132中有出现,跳过 | 要替换的3在132中有出现,跳过 | 5不在132中 距离后面出现132最远的是2 替换2 | 要替换的1在135中有出现,跳过 | 要替换的3在135中有出现,跳过 | 2不在135中 距离后面出现132最远的是3,或者说后面不再出现3 替换3 | 要替换的1在125中有出现,跳过 | 要替换的5在125中有出现,跳过 |
3、银行家算法-题目
考虑某个系统在下表时刻的状态。 | ||||||||||||
Allocation | Max | Available | ||||||||||
A | B | C | D | A | B | C | D | A | B | C | D | |
P0 | 0 | 0 | 1 | 2 | 0 | 0 | 1 | 2 | 1 | 5 | 2 | 0 |
P1 | 1 | 0 | 0 | 0 | 1 | 7 | 5 | 0 | ||||
P2 | 1 | 3 | 5 | 4 | 2 | 3 | 5 | 6 | ||||
P3 | 0 | 0 | 1 | 4 | 0 | 6 | 5 | 6 | ||||
使用银行家算法回答下面的问题: 1)Need 矩阵是怎样的? 2)系统是否处于安全状态?如安全,请给出一个安全序列。 3)若从进程P,发来一个请求(0,4,2,0),这个请求能否立刻被满足?如安全,请给出一个安全序列。 |
答案:
1)、Need=Max-Allocation 则: | Need | ||||||||||||
P0 | 0 | 0 | 0 | 0 | |||||||||
P1 | 0 | 7 | 5 | 0 | |||||||||
P2 | 1 | 0 | 0 | 2 | |||||||||
P3 | 0 | 6 | 4 | 2 | |||||||||
2)、根据 Available=Work>Need可得,处于安全序列。 安全序列为P0->P2->P1->P3 | Available或者Work | 说明: | |||||||||||
初始值 | 1 | 5 | 2 | 0 | 初始空闲值跟P0对比时,满足Available=Work>need,释放P0的Available后的值为(1+0,5+0,2+1,0+2) | ||||||||
P0 | 1 | 5 | 3 | 2 | 可释放P0,释放完P0后,Available为(1,5,3,2) | ||||||||
P2 | 2 | 8 | 8 | 6 | 可释放P2,释放完P2后,Available为(2,8,8,6) | ||||||||
P1 | 3 | 8 | 8 | 6 | 可释放P1,释放完P1后,Available为(3,8,8,6) | ||||||||
P3 | 3 | 8 | 9 | 10 | 可释放P3,释放完P3后,Available为(3,8,9,10) | ||||||||
3)、此时状态如下,释放完P0和P2才能被满足,序列安全,安全序列为:P0->P2->P1->P3 | |||||||||||||
Allocation | Max | Available | |||||||||||
A | B | C | D | A | B | C | D | A | B | C | D | ||
P0 | 0 | 0 | 1 | 2 | 0 | 0 | 1 | 2 | 1 | 1 | 0 | 0 | |
P1 | 1 | 4 | 2 | 0 | 1 | 7 | 5 | 0 | |||||
P2 | 1 | 3 | 5 | 4 | 2 | 3 | 5 | 6 | |||||
P3 | 0 | 0 | 1 | 4 | 0 | 6 | 5 | 6 |
4、磁盘调度算法-题目
在一个磁盘上,有 1000个柱面,编号为0~999,用下面的算法计算为满足磁盘队列中的所有请求,磁盘臂必须移过的磁道的数目。 假设最后服务的请求是在磁道345上,并且读写头正在朝磁道0移动。在按FIFO顺序排列的队列中包含了如下磁道上的请求:123,874,692.475.105,376. 1)FIFO;2)SSTF;3)SCAN;4)LOOK;5)C-SCAN;6)C-LOOK |
(注意) 从345开始,方向在左边 | ||||||||||||
按照顺序移动即可 | ||||||||||||
FIFO:345 → 123 → 874 → 692 → 475 → 105 → 376 | ||||||||||||
磁盘臂移过的磁道的数目: |345−123|+|123−874|+|874−692|+|692−475|+|475−105|+|105−376| =222+751+182+217+370+271 =2013 | ||||||||||||
找最近的目标移动 | ||||||||||||
SSTF:345 → 376 → 475 → 692 → 874 → 123 → 105 | ||||||||||||
磁盘臂移过的磁道的数目:(同上) =31+99+217+182+751+18 =1298 | ||||||||||||
跟电梯一样一个方向走到尽头指针才回头 | ||||||||||||
SCAN:345 → 123 → 105 → 0(改变方向) → 376 → 495 → 692 → 874 | ||||||||||||
磁盘臂移过的磁道的数目:(同上) =222+18+105+376+99+217+182 =1219 | ||||||||||||
跟电梯算法一样,但走到最后一个磁道时指针就要回头 | ||||||||||||
LOOK:345 → 123 → 105(改变方向) → 376 → 495 → 692 → 874 | ||||||||||||
磁盘臂移过的磁道的数目:(同上) =222+18+271+99+217+182 =1009 | ||||||||||||
跟电梯一样一个方向走到尽头指针才回头,但从始至终只能一个方向读取磁道,因此要回到另一边的尽头 | ||||||||||||
C-SCAN:345 → 123 → 105 → 0(改变方向) → 999(改变方向) → 874 → 692 → 495 → 376 | ||||||||||||
磁盘臂移过的磁道的数目:(同上) =345+999+623 =1967 | ||||||||||||
跟电梯算法一样,但走到最后一个磁道时指针要回头回到最另一边的磁道,因为从始至终只能一个方向读取磁道 | ||||||||||||
C-LOOK:345 → 123 → 105(改变方向) → 874 → 692 → 495 → 376 | ||||||||||||
磁盘臂移过的磁道的数目:(同上) =240+769+498 =1507 |
资料提供:(详细)