首页 模拟电梯调度算法实现对磁盘的驱动调度定稿版

模拟电梯调度算法实现对磁盘的驱动调度定稿版

举报
开通vip

模拟电梯调度算法实现对磁盘的驱动调度定稿版IBMsystemofficeroom【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】模拟电梯调度算法实现对磁盘的驱动调度精编WORD版操作系统实验(第三次)一、实验内容模拟电梯调度算法,实现对磁盘的驱动调度。二、实验目的磁盘是一种高速、大容量、旋转型、可直接存取的存储设备。它作为计算机系统的辅助存储器,担负着繁重的输入输出任务、在多道程序设计系统中,往往同时会有若干个要求访问磁盘的输入输出请求等待处理。系统可采用一种策略,尽可能按最佳次序执行要求访问磁盘的诸输入输出请求。这就叫驱动调度,使用的算...

模拟电梯调度算法实现对磁盘的驱动调度定稿版
IBMsystemofficeroom【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】模拟电梯调度算法实现对磁盘的驱动调度精编 word word文档格式规范word作业纸小票打印word模板word简历模板免费word简历 版操作系统实验(第三次)一、实验 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 模拟电梯调度算法,实现对磁盘的驱动调度。二、实验目的磁盘是一种高速、大容量、旋转型、可直接存取的存储设备。它作为计算机系统的辅助存储器,担负着繁重的输入输出任务、在多道程序设计系统中,往往同时会有若干个要求访问磁盘的输入输出请求等待处理。系统可采用一种策略,尽可能按最佳次序执行要求访问磁盘的诸输入输出请求。这就叫驱动调度,使用的算法称为驱动调度算法。驱动调度能降低为若干个输入输出请求服务所需的总时间,从而提高系统效率。本实验要求学生模拟设计一个驱动调度程序,观察驱动调度程序的动态运行过程。通过实验使学生理解和掌握驱动调度的职能。实验题目模拟电梯调度算法,对磁盘进行移臂和旋转调度。[提示]:(1)磁盘是可供多个进程共享的存储设备,但一个磁盘每时刻只能为一个进程服务。当有进程在访问某个磁盘时,其他想访问该磁盘的进程必须等待,直到磁盘一次工作结束。当有多个进程提出输入输出要求而处于等待状态时,可用电梯调度算法从若干个等待访问者中选择一个进程,让它访问磁盘。选择访问者的工作由“驱动调度”进程来完成。由于磁盘与处理器是可以并行工作的、所以当磁盘在作为一个进程服务时,占有处理器的另一进程可以提出使用磁盘的要求,也就是说,系统能动态地接收新的输入输出请求。为了模拟这种情况,在本实验中设置了一个“接收请求”进程。“驱动调度”进程和“接收请求”进程能否占有处理器运行,取决于磁盘的结束中断信号和处理器调度策略。在实验中可用随机数来模拟确定这两个进程的运行顺序,以代替中断处理和处理器调度选择的过程。因而,程序的结构可参考图3—1(2)“接收请求”进程建立一张“请求I/O”表,指出访问磁盘的进程要求访问的物理地址,表的 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 为:假定某个磁盘组共有200个柱面,由外向里顺序编号(0—199),每个柱面上有20个磁道,编号为0—19,每个磁道分成8个物理 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 ,编号0—7。进程访问磁盘的物理地址可以用键盘输入的 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 模拟得到。图3—2是“接收请求”进程的模拟算法。在实际的系统中必须把等待访问磁盘的进程排入等待列队,由于本实验模拟驱动调度,为简单起见,在实验中可免去队列管理部分,故设计程序时可不考虑“进程排入等待队列”的工作。(3)“驱动调度”进程的功能是查“请求I/O”表,当有等待访问磁盘的进程时,按电梯调度算法从中选择一个等待访问者,按该进程指定的磁盘物理地址启动磁盘为其服务。对移动臂磁盘来说,驱动调度分移臂调度和旋转调度。电梯调度算法的调度策略是与移动臂的移动方向和移动臂的当前位子有关的,所以每次启动磁盘时都应登记移动臂方向和当前位子。电梯调度算法是一种简单而实用的驱动调度方法,这种调度策略总是优先选择与当前柱面号相同的访问请求,从这些请求中再选择一个能使旋转距离最短的等待访问者。如果没有与当前柱面号相同的访问请求,则根据移臂方向来选择,每次总是沿臂移动方向选择一个与当前柱面号最近的访问请求,若沿这个方向没有访问请求时,就改变臂的移动方向。这种调度策略能使移动臂的移动频率极小,从而提高系统效率。用电梯调度算法实现驱动调度的模拟算法如图3-3。(4)图3-1中的初始化工作包括,初始化“请求I/O”表,置当前移臂方向为里移;置当前位置为0号柱面,0号物理记录。程序运行前可假定“请求I/O”表中已经有如干个进程等待访问磁盘。在模拟实验中,当选中一个进程可以访问磁盘时,并不实际地启动磁盘,而用显示:“请求I/O”表;当前移臂方向;当前柱面号,物理记录号来代替图3-3中的“启动磁盘”这项工作。程序中使用的数据结构及其说明。constintPCB=100;//定义100个进程intpcbs_num=0;//记录当前io表的进程个数typedefstructprocess//请求io表{charpname[10];//进程名intCylinder;//柱面号intTrack;//磁道号intRecord;//物理记录号intWay;}PROCESS;PROCESSpcbs[PCB];PROCESSa;//记录当前位置(柱面号、物理记录号)采用带头节点的循环链表存打印一份源程序并附上注释。#include#include#include#include#includeusingnamespacestd;constintPCB=100;//定义100个进程intpcbs_num=0;//记录当前io表的进程个数typedefstructprocess//请求io表{charpname[10];//进程名intCylinder;//柱面号intTrack;//磁道号intRecord;//物理记录号intWay;}PROCESS;PROCESSpcbs[PCB];PROCESSa;voidinit_a()//设置当前位置{a.Cylinder=4;a.Track=0;a.Record=0;}intcount_PN()//记录进程总数{inti;for(i=0;pcbs[i].Cylinder!=NULL;i++){}cout<>pcbs[pcbs_num].pname>>pcbs[pcbs_num].Cylinder>>pcbs[pcbs_num].Track>>pcbs[pcbs_num].Record;pcbs_num++;}intCylinder_e()//判断柱面号相等{for(inti=0;icylinder){t=abs(pcbs[i].Cylinder-cylinder);}}num=cylinder+t;//选择的柱面号t=8;//物理块号最大相差7for(i=0;ib&&pcbs[i].Cylinder>cylinder){b=abs(pcbs[i].Cylinder-cylinder);}}returnb;}intCylinder_min(intcylinder)//选择比当前柱面号小的请求中柱面号最大的{intnum,t=199,i,a=0;for(i=0;i>n;if(n>0.5){SCAN();//驱动调度}else{accept();//接受请求}cout<<"继续(y/n)"<>y;}}voidmain(){work();}(4)打印驱动调度进程每次选择访问请求前的“请求I/O”表以及每次选中的进程名、访问的柱面号、物理记录号和当前移臂方向(用up代表里移,down代表外移
本文档为【模拟电梯调度算法实现对磁盘的驱动调度定稿版】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
春华秋实
人民教育工作者
格式:doc
大小:54KB
软件:Word
页数:0
分类:企业经营
上传时间:2021-08-22
浏览量:8