FCFS,SSTF,SCAN,FIFO,LRO考点题解



四、应用题 ( 本大题共5 小题,50 分 )

1. 假设某系统中有五个进程,每个进程的执行时间(单位:ms)和优先数如下表所示(优先数越小,其优先级越高)。


进程


执行时间


优先数


P1

P2

P3

P4

P5


10

1

2

1

5


3

1

5

4

2

如果在0时刻,各进程按P1、P2、P3、P4、P5的顺序同时到达,请回答以下问题:(12分)

(1)当系统采用先来先服务调度算法时:

进程执行顺序是      p1 p2 p3 p4 p5      平均周转时间是  13.4ms





(2)当系统采用高优先级优先调度算法时:

进程执行顺序是     p2 p5 p1 p4 p3    平均周转时间是        11.8ms





(3)当系统采用时间片轮转法时

进程执行顺序是   p1、p2、p3、p4、p5、p1、p3、p5、p1、p5、p1、p5、p1、p5、 p1  平均周转时间是      9.2ms





2.在一个段式存储管理系统中,其段表如下表所示:


段号


内存起始地址


段长


0

1

2

3

4


210

2350

100

1350

1938


500

20

90

590

95

请将下列逻辑地址所对应的物理地址填入下表中(10分):


段号


段内位移


物理地址


0


430


640


1


10


2360


2


500


段长越界


3


400


1750


5


32


段号越界



解析:

0段号内存起始地址为210,段内位移430<段长500,说明段长没有越界,所以物理地址为210+430=640

1段号内存起始地址为2350,段内位移10<段长20,说明段长没有越界,所以物理地址为2350+10=2360

2段号内存起始地址为100,段内位移500>段长90,说明段长越界。

3段号内存起始地址为1350,段内位移400<段长590,说明段长没有越界,所以物理地址为1350+400=1750

由于段表中没有5段号,所以段号5段号越界。



3.设某移动头磁盘有200道,编号为0~199,磁头刚从143道完成了读写,且正向磁道号增加方向移动,对于如下访盘请求序列(磁道号):

86,147,91,177,94,150,102,175,130

请回答以下问题:(12分)

(1)在FCFS调度算法下的磁头移动顺序为 143,86,147,91,177,94,150,102,175,130   ;磁头移动的总距离为565 ;



解析:

百度百科

FCFS(First Come First Served )先来先服务,英语谚语。在计算机领域中,有时被用以描述数据结构中的队列性质,类似于FIFO(先进先出)。

任务

在计算机并行任务处理中,被视为最简单的任务排序策略,即是无论任务大小和所需完成时间,对先到的任务先处理,后到的任务后处理。它是一种非抢占式策略。

FCFS:先来先服务调度算法。

磁头刚从143道完成了读写,如下访盘请求序列(磁道号):

86,147,91,177,94,150,102,175,130

那么按照FSFS算法读取顺序为:

143, 86,147,91,177,94,150,102,175,130

那么 读取86时磁头移动距离为:  143-86=57

读取147时磁头移动距离为:147-86=61

读取91时磁头移动距离为:  147-91=56

读取177时磁头移动距离为:177-91=86

读取94时磁头移动距离为:   177-94=83

读取150时磁头移动距离为: 150-94=56

读取102时磁头移动距离为: 150-102=48

读取175时磁头移动距离为:  175-102=73

读取130时磁头移动距离为:  175-130=45

因此,磁头移动的总距离为57+61+56+86+83+56+48+73+45=565



(2)在SSTF调度算法下的磁头移动顺序为  143,147,150,130,102,94,91,86,175,177                                ;磁头移动的总距离为     162      ;

*******************************************************

解析:

百度百科

SSTF

最短寻道时间优先(ShortestSeekTimeFirst,SSTF)

该算法选择这样的进程,其要求访问的磁道与当前磁头所在的磁道距离最近,以使每次的寻道时间最短,但这种调度算法却不能保证平均寻道时间最短。SSTF算法的平均每次磁头移动距离,明显低于FCFS的距离。SSTF较之FCFS有更好的寻道性能,故过去一度被广泛采用过。

SSTF:最短寻道时间优先调度算法。

0  86  91  94  102  130  143  147  150  175  177



磁头刚从143道完成了读写,如下访盘请求序列(磁道号):

86,147,91,177,94,150,102,175,130

那么按照当处于143道时,查找最短寻道时间。

143-130=13>4=147-143

所以下一个最短寻道时间访问的应该是147。

这时访问磁道顺序为143,147

同理,147-130=17>3=150-147

这时访问磁道顺序为143,147,150

175-150=25>20=150-130

这时访问磁道顺序为143,147,150,130

130-102=28<45=175-130

这时访问磁道顺序为143,147,150,130,102

依次类推,最后访问磁道顺序为:

143,147,150,130,102,94,91,86,175,177

访问147磁道距离:147-143=4

访问150磁道距离:150-147=3

访问130磁道距离:150-130=20

访问102磁道距离:130-102=28

访问94磁道距离:102-94=8

访问91磁道距离:94-91=3

访问86磁道距离:91-86=5

访问175磁道距离:175-86=89

访问177磁道距离:177-175=2

因此,磁头移动总距离为:4+3+20+28+8+3+5+89+2=162



(3)在SCAN调度算法下的磁头移动顺序为   143,147,150,175,177,130,102,94,91,86  ;磁头移动的总距离为  125          ;



解析:

百度百科

SCAN:扫描调度算法(又称电梯调度算法)是计算机磁盘驱动调度的一种方法。

实现方法:

扫描算法(SCAN)不仅考虑到欲访问的磁道与当前磁道的距离,更优先考虑的是磁头的当前移动方向。当磁头正在由里向外移动时,SCAN算法所选择的下一 个访问对象应是其欲访问的磁道,既在当前磁道之外,又是距离最近的。这样由里向外地访问,直至再无更外的磁道需要访问时,才将磁臂换向,由外向里移动。这 时,同样也是每次选择在当前磁道之内,且距离最近的进程来调度。

SCAN:扫描算法(SCAN)不仅考虑到欲访问的磁道与当前磁道的距离,更优先考虑的是磁头的当前移动方向。

0  86  91  94  102  130  143——> 147  150  175  177



当处于143道时,优先考虑的是磁头的当前移动方向

所以访问时磁头当前移动的方向优先,即

143——>147——>150——>175——>177

当磁头访问到177时,已经没有了更外的磁道需要访问,这时磁臂换向,然后由外向里移动。

因此,采用SCAN调度算法磁头移动顺序为:

143——>147——>150——>175——>177——>130——>102——>94——>91——>86

访问147磁道距离:147-143=4

访问150磁道距离:150-147=3

访问175磁道距离:175-150=25

访问177磁道距离:177-175=2

访问130磁道距离:177-130=47

访问102磁道距离:130-102=28

访问94磁道距离:  102-94=8

访问91磁道距离:94-91=3

访问86磁道距离:91-86=5

因此,磁头移动总距离:4+3+25+2+47+28+8+3+5=125



4.设系统分配给某作业4个页帧使用,执行时的页面走向为:

1,2,3,6,4,7,3,2,1,4,7,5,6,5,2,1

请回答以下问题:(10分)

(1)采用FIFO页面置换算法时:

淘汰页面的顺序为      1,2,3,6,4,7      ;

缺页中断次数为      10     ;



解析:

FIFO:先进先出页面置换算法。

算法实现:总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面进行淘汰。

由上图可知,淘汰顺序为:1,2,3,6,4,7

缺页次数为:10次。



(2)采用LRU页面置换算法时:

淘汰页面的顺序为  1,2,6,4,7,3,2,1,4, 7                                       ;

缺页中断次数为     14      ;



解析:

LRU页面置换算法:最近最久未使用LRU页面置换算法,是根据页面调入内存后的使用情况进行决策的。

算法的实现:选择最近最久未使用的页面予以淘汰。

由于LRU算法淘汰的是上次使用距离t时刻最远的页,故需记录这个距离。



5.一系统具有150个存储单元,在T0时刻系统按下表所示分配给3个进程。


进程


最大需求


已分配


P1

P2

P3


70

60

60


25

40

45

对下列请求应用银行家算法分别分析判定是否安全?(6分)

(1)第4个进程P4到达,最大需求60个存储单元,当前请求分配25个单元。试问,若系统接受该请求,处于安全状态吗?

答:一系统具有150个存储单元,在T0时刻系统按下表所示分配给3个进程,分配第四个进程25个单元。

那么四个进程分配完毕后,剩下可分配存储单元数为:150-25-40-45-25=15个存储单元。

p1还需要分配存储单元数目:70-25=45

p2还需要分配存储单元数目:60-40=20

p3还需要分配存储单元数目:60-45=15

p4还需要分配存储单元数目:60-25=35

此时,系统只剩下存储单元15个,能满足的只有进程p3。

所以系统将剩下全部15个存储单元分配给进程p3,进程p3完成后可以回收45个存储单元。

此时系统剩余可分配存储单元为60个,可以满足进程p1,p2,p4任意一个。(所以结果不唯一)

假设我们选择进程p2,那么分配给进程p2存储单元20个,进程p2执行完成,回收存储单元40。

此时系统剩余可分配存储单元60+40=100个,进程p1和进程p4都可以满足。

假设我们选择进程p1,那么分配给进程p1存储单元45个,进程p2执行完成,回收存储单元25。

此时系统剩余可分配存储单元100+25=125

最后选择进程p4,分配给进程p4存储单元35个,回收存储单元25.

由上可知,当执行顺序为p3——>p2——>p1——>p4时,可以满足所有进程。

所以是安全状态。

(2)第4个进程P4到达,最大需求50个存储单元,当前请求分配35个单元。试问,若系统接受该请求,处于安全状态吗?

答:一系统具有150个存储单元,在T0时刻系统按下表所示分配给3个进程,再分配第四个进程35个单元。

那么四个进程分配完毕后,剩下可分配存储单元数为:150-25-40-45-35=5个存储单元。

p1还需要分配存储单元数目:70-25=45

p2还需要分配存储单元数目:60-40=20

p3还需要分配存储单元数目:60-45=15

p4还需要分配存储单元数目:50-35=15

所剩下的存储单元5个不足以满足任何一个进程,因此找不到一个安全序列,所以为不安全状态。



最近复习操作系统准备期末,找的经典题目,自己写的题解。

文中有些内容为了保留原来整齐排版格式,使用了图片截图。

交流即分享,分享才能进步!

不足之处,还请各位前辈多多指教。

FCFS,SSTF,SCAN,FIFO,LRO考点题解,布布扣,bubuko.com

时间: 2024-10-03 06:51:17

FCFS,SSTF,SCAN,FIFO,LRO考点题解的相关文章

操作系统原理之磁盘调度

首先介绍主要的的四种磁头调度算法 (一)先来先服务算法(FCFS) 1.算法思想:按访问请求到达的先后次序服务. 2.优点:简单,公平. 3.缺点:效率不高,相邻两次请求可能会造成最内到最外的柱面寻道,使磁头反复移动,增加了服务时间,对机械也不利. 4.例子: 假设磁盘访问序列:98,183,37,122,14,124,65,67.读写头起始位置:53.求:磁头服务序列和磁头移动总距离(道数). 由题意和先来先服务算法的思想,得到下图所示的磁头移动轨迹.由此: 磁头服务序列为:98,183,37

Atitti 大话存储读后感 attilax总结

1.1. 大话存储中心思想(主要讲了磁盘文件等存储)1 1.2. 最耐久的存储,莫过于石头了,要想几千万年的存储信息,使用石头是最好的方式了1 1.3. 数据传输机制:总线机制1 1.4. 扫描策略fcfs Sstf 算法2 1.5. Ntfs文件系统2 1.1. 大话存储中心思想(主要讲了磁盘文件等存储) 软件常见的存储体系(内存,文件,数据库) 主要讲了磁盘文件的存储体系. 1.2. 最耐久的存储,莫过于石头了,要想几千万年的存储信息,使用石头是最好的方式了 汉谟拉比法典等,金字塔什么的.

磁盘调度算法FCFS、SSTF、SCAN、CSCAN详解

常见的磁盘调度算法有: 1.FCFS:先来先服务算法: 2.SSTF:最短寻道时间算法: 3.SCAN:扫描算法(也叫电梯调度算法): 4.CSCAN:循环扫描算法 算法的详细介绍: FCFS:算法思想非常简单,就是不论初始磁头在什么位置,都是按照服务队列的先后顺序依次处理进程,可以类比队列的先进先出.优点是进程处理起来非常简单,但缺点显而易见,就是平均寻道长度会很长. Java实现: public class fcfs {     Scanner x=new Scanner(System.in

操作系统scan算法与SSTF算法

Scan package four; import java.util.Arrays; import java.util.Scanner; public class Scan { public void clockwise(Array longth,int begin,int temp,int o){ int []a = new int[longth.lo.length]; for(int i=0;i<longth.lo.length;i++) a[i]=longth.lo[i]-begin;

题解 HDU 3698 Let the light guide us Dp + 线段树优化

http://acm.hdu.edu.cn/showproblem.php?pid=3698 Let the light guide us Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 62768/32768 K (Java/Others) Total Submission(s): 759    Accepted Submission(s): 253 Problem Description Plain of despair was

题解:线性规划与网络流24题 T2 太空飞行计划问题

太空飞行计划问题 问题描述 W教授正在为国家航天中心计划一系列的太空飞行.每次太空飞行可进行一系列商业性实验而获取利润.现已确定了一个可供选择的实验集合E={E1,E2,-,Em},和进行这些实验需要使用的全部仪器的集合I={I1,I2,-In}.实验Ej 需要用到的仪器是I的子集Rj ∈ I.配置仪器Ik的费用为ck美元.实验Ej 的赞助商已同意为该实验结果支付pj 美元.W教授的任务是找出一个有效算法,确定在一次太空飞行中要进行哪些实验并因此而配置哪些仪器才能使太空飞行的净收益最大.这里净收

2014ACM/ICPC亚洲区北京站题解

本题解不包括个人觉得太水的题(J题本人偷懒没做). 个人觉得这场其实HDU-5116要比HDU-5118难,不过赛场情况似乎不是这样.怀疑是因为老司机带错了路. 这套题,个人感觉动态规划和数论是两个主要的考点. HDU 5113 Black And White HDU 5114 Collision HDU 5116 Everlasting L HDU 5117 Fluorescent HDU 5118 GRE Words Once More!

POJ 3624 Charm Bracelet 背包题解

最简单的背包问题了,本题应该除了背包就一个考点了:不能开二维数组.我没开过二维,不过看数据是不可以的.太大了. 做法有两种改进省内存DP: 1 所谓的滚动数组 2 逆向填表 很久没做背包DP,突然觉得这种背包问题很简单了. 下面给出两种解法: 1 calBag()是滚动数组 2 calBag2()是逆向填表 #pragma once #include <stdio.h> #include <stdlib.h> #include <vector> using namesp

HDU 4760 Good FireWall 完善Trie题解

本题乍看像是线段树之类的区间操作,不过因为只是需要查找ip的前缀,故此其实是使用Trie来做. 这里的Trie使用到了Delete函数,这是个Trie函数中最难的函数了,当然要使用数组记录的方法水掉,也是可以的.这里不水,给出delete函数. 考点难点: 1 Trie的操作函数的灵活运用,主要难点是delete函数的灵活运用 2  在叶子节点所有的group id, 删除的时候要注意,不能一气删除了,有多个group id会挂在同一颗树中 3  源ip和目的ip也许在多个叶子节点中,要使用两个