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个不足以满足任何一个进程,因此找不到一个安全序列,所以为不安全状态。
卷B
二、填空题
4.假设某程序的页面访问序列为1、2、3、4、5、2、3、1、2、3、4、5、1、2、3、4且开始执行时主存中没有硬骨头同,则在分配给该程序的物理块数是3且采用FIFO方式时缺页次数是__13 ___;在分配给程序的物理块数是4且采用FIFO方式时,缺页次数是___ 14 ___.在分配给该程序的热处理块数是3且用LRU方式时,缺页次数是_ _14___.在分配给该程序的物理块数为4且采用LRU方式是,缺页次数是___12_ ___.




最近复习操作系统准备期末,找的经典题目,自己写的题解。
文中有些内容为了保留原来整齐排版格式,使用了图片截图。
交流即分享,分享才能进步!
不足之处,还请各位前辈多多指教。
FCFS,SSTF,SCAN,FIFO,LRO考点题解的更多相关文章
- 菜鸟的飞翔日记-os篇
一轮王道os复习感想 1概述 虽然去年有上操作系统这门必修课,考的成绩也算理想,本来还有点沾沾自喜,嗯,觉得自己学的还不错,知道有一天我拿起了王道,(没给王道打广告)看王道的原因完全在于为考研做准备, ...
- Atitti 大话存储读后感 attilax总结
Atitti 大话存储读后感 attilax总结 1.1. 大话存储中心思想(主要讲了磁盘文件等存储)1 1.2. 最耐久的存储,莫过于石头了,要想几千万年的存储信息,使用石头是最好的方式了1 1.3 ...
- sdut oj 操作系统实验--SSTF磁盘调度算法【操作系统算法】
操作系统实验--SSTF磁盘调度算法 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 磁盘调度在多道程序设计的计算机系统中,各个进 ...
- Vulnhub靶场题解
Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...
- 【LeetCode题解】232_用栈实现队列(Implement-Queue-using-Stacks)
目录 描述 解法一:在一个栈中维持所有元素的出队顺序 思路 入队(push) 出队(pop) 查看队首(peek) 是否为空(empty) Java 实现 Python 实现 解法二:一个栈入,一个栈 ...
- CCF计算机职业资格认证考试题解
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF计算机职业资格认证考试题解 CCF计算机软件能力认证(简称CCF CSP认证)是CCF计算机职业资格认证系 ...
- 扫描算法(SCAN)——磁盘调度管理
原创 上一篇博客写了最短寻道优先算法(SSTF)——磁盘调度管理:http://www.cnblogs.com/chiweiming/p/9073312.html 此篇介绍扫描算法(SCAN)——磁盘 ...
- 最短寻道优先算法(SSTF)——磁盘调度管理
原创 最近操作系统实习,敲了实现最短寻道优先(SSTF)——磁盘调度管理的代码. 题目阐述如下: 设计五:磁盘调度管理 设计目的: 加深对请求磁盘调度管理实现原理的理解,掌握磁盘调度算法. 设计内容: ...
- 【题解】P5151 HKE与他的小朋友
[题解]P5151 HKE与他的小朋友 实际上,位置的关系可以看做一组递推式,\(f(a_i)=f(a_j),f(a_j)=f(a_t),etc...\)那么我们可以压进一个矩阵里面. 考虑到这个矩阵 ...
随机推荐
- SELECT TOP 100 PERCENT 不按后面的order by 排序
项目中,由于需要把3个状态的任务合并显示,并且按照任务由近及远的顺序排序,类似于下面的语句 order by taskid desc )m union all order by taskid desc ...
- SQL Saturday活动再起
SQL Saturday活动再起 时间:2015年05月09日(星期六) 地点:上海徐汇区港汇2座10楼(10.073) 我们相约港汇2座10楼(10.073),SQL PASS上海分会的SQLSat ...
- PCWIFI--无线网络共享软件
前段时间由于需要共享笔记本无线网络给手机使用,在网上找了几个软件试了一下,没找到比较好用的,要么是收费的,要么有广告,要么附带一大堆其他功能,所以决定自己写一个小软件来实现该功能.软件相关介绍如下: ...
- 循序渐进做项目系列(1):最简单的C/S程序——让服务器来做加法
(本文是专门针对未接触过C/S开发的初学者而写的,C/S开发高手请自动忽略啊~~) 还在写“Hello world!”式的单机程序吗?还在各种拖控件吗?是否自己都觉得有点low呢?来个质的飞跃吧!看看 ...
- Hadoop日记Day12---MapReduce学习
一.MapReduce简介 1.1MapReduce概述 MapReduce是一种分布式计算模型,由Google提出,主要用于搜索领域,解决海量数据的计算问题.MR由两个阶段组成:Map和Reduce ...
- 对map集合进行排序
今天做统计时需要对X轴的地区按照地区代码(areaCode)进行排序,由于在构建XMLData使用的map来进行数据统计的,所以在统计过程中就需要对map进行排序. 一.简单介绍Map ...
- Hello Mybatis 02 mybatis generator
接着上一篇文章通过Mybatis完成了一个User的CRUD的功能之后,这篇开始还需要建立一个Blog类,这样就可以模拟一个简单的微博平台的数据库了. 数据库准备 首先我们,还是需要在数据库中新建一个 ...
- Homebrew简介及安装
Homebrew官网 http://brew.sh/index_zh-cn.html Homebrew是神马 linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两大发行版本都自带了解决方案, ...
- SVN 使用
我是一个前端,svn 的服务器配置也是后端弄好的,到底怎么弄的不清楚. 最开始是想和xcode关联起来,每次提交代码也方便,但是在Xcode里的偏好设置Accounts 模块 添加了SVN 服务端地址 ...
- Java集合框架知识总结
两大体系:Collection,Map 一.Collection: List 接口 : List:里面对象全部是有序的(通过三种方法来遍历) ArrayList,LinkedList,Vertor A ...