计算机操作系统习题,求解

假设磁盘有200个磁道,磁盘请求队列中是一些随机请求,它们按照到达的次序分别处于55、58、39、18、90、160、150、38、184号磁道上,当前磁头在100号磁道... 假设磁盘有200个磁道,磁盘请求队列中是一些随机请求,它们按照到达的次序分别处于55、58、39、18、90、160、150、38、184号磁道上,当前磁头在100号磁道上,并向磁道号增加的方向上移动。请给出按FCFS(先来先服务)、SSTF(最短寻道时间优先)算法进行磁盘调度时满足请求的次序,并计算出它们的平均寻道长度。 展开
 我来答
安琪拉yuan
2019-12-02
知道答主
回答量:4
采纳率:0%
帮助的人:2542
展开全部
(1)先来先服务调度算法
由于该算法就是按照磁道请求序列的先后次序依次访问磁道的,因此磁道的访问序列(服务顺序)就是:
55、58、39、18、90、160、150、38、184
当前磁头在100号磁道。故磁头移动道数为:
(100-55)+(58-55)+(58-39)+(39-18)+(90-18)+(160-90)+(160-150)+(150-38)+(184-38)=45+3+19+21+72+70+10+112+146=498
平均寻道时间:498/9=55.3
(2)本题磁头移动方向是磁道增加的方向。因此磁道的访问序列(服务顺序)就是90、58、55、39、38、18、150、160、184。当前磁头在100号磁道 ,故磁头移动道数为:(100-90)+(90-58)+(58-55)+(55-39)+(39-38)+(38-18)+(150-18)+(160-150)+(184-160)=248
平均寻道时间:248/8=27.5
wuyiyon

2018-11-13 · TA获得超过1915个赞
知道小有建树答主
回答量:688
采纳率:79%
帮助的人:183万
展开全部
(1)先来先服务调度算法
由于该算法就是按照磁道请求序列的先后次序依次访问磁道的,因此磁道的访问序列(服务顺序)就是:
55、58、39、18、90、160、150、38、184
当前磁头在100号磁道。故磁头移动道数为:
(100-55)+(58-55)+(58-39)+(39-18)+(90-18)+(160-90)+(160-150)+(150-38)+(184-38)=45+3+19+21+72+70+10+112+146=498
(2)最短寻道时间优先算法
该算法是沿磁头移动方向访问距离当前磁道最近的磁道,当到达一个顶端时立刻返回到另一个顶端继续扫描。本题磁头移动方向是磁道增加的方向,当前磁头在50号磁道。因此磁道的访问序列(服务顺序)就是:150、160、184、18、38、39、58、90。而磁头移动道数与前面(1)问差不多,也是两两相减,然后求和。50+10+24+166+20+1+19+32=322
追问
你好,我还有一道题,看看你会吗? 

2.已知某进程访问以下页面:9、1、6、5、1、6、2、5、
4、2、8、5,当分配该进程的物理块数M为3时,分别
采用最佳置换算法、先进先出FIFO置换算法和最近最
久未使用LRU置换算法,求出现缺页的次数及缺页率。
(提示:所给定的物理块初始均为空,因此,首次访问
一页时就会发生缺页中断。要求写出过程)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
查红玉
2018-11-14 · 知道合伙人教育行家
查红玉
知道合伙人教育行家
采纳数:16832 获赞数:167774
7年550万字翻译经验,为华为、中铁、中科大等提供过翻译服务

向TA提问 私信TA
展开全部
【例2】桌上有一空盘,允许存放一只水果。爸爸可向盘中放苹果,也可向盘中放桔子,儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。规定当盘空时一次只能放一只水果供吃者取用,请用P、V原语实现爸爸、儿子、女儿三个并发进程的同步。

分析 在本题中,爸爸、儿子、女儿共用一个盘子,盘中一次只能放一个水果。当盘子为空时,爸爸可将一个水果放入果盘中。若放入果盘中的是桔子,则允许儿子吃,女儿必须等待;若放入果盘中的是苹果,则允许女儿吃,儿子必须等待。本题实际上是生产者-消费者问题的一种变形。这里,生产者放入缓冲区的产品有两类,消费者也有两类,每类消费者只消费其中固定的一类产品。
解:在本题中,应设置三个信号量S、So、Sa,信号量S表示盘子是否为空,其初值为l;信号量So表示盘中是否有桔子,其初值为0;信号量Sa表示盘中是否有苹果,其初值为0。同步描述如下:
int S=1;
int Sa=0;
int So=0;
main()
{
cobegin
father(); /*父亲进程*/
son(); /*儿子进程*/
daughter(); /*女儿进程*/
coend

father()
{
while(1)
{
P(S);
将水果放入盘中;
if(放入的是桔子)V(So);
else V(Sa);
}
}
son()
{
while(1)
{
P(So);
从盘中取出桔子;
V(S);
吃桔子;

}
daughter()
{
while(1)
{
P(Sa);
从盘中取出苹果;
V(S);
吃苹果;

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式