磁盘移臂调度过程模拟先来先服务法电梯算法.docx
- 文档编号:29646430
- 上传时间:2023-07-25
- 格式:DOCX
- 页数:15
- 大小:223.05KB
磁盘移臂调度过程模拟先来先服务法电梯算法.docx
《磁盘移臂调度过程模拟先来先服务法电梯算法.docx》由会员分享,可在线阅读,更多相关《磁盘移臂调度过程模拟先来先服务法电梯算法.docx(15页珍藏版)》请在冰豆网上搜索。
磁盘移臂调度过程模拟先来先服务法电梯算法
学号:
课程设计
题目
磁盘移臂调度过程模拟-先来先服务法,电梯算法
学院
计算机学院
专业
班级
姓名
指导教师
吴利军
2013
年
01
月
14
日
课程设计任务书
学生姓名:
指导教师:
吴利军工作单位:
计算机科学与技术学院
题目:
磁盘移臂调度过程模拟设计——先来先服务法、电梯算法
初始条件:
1.预备内容:
阅读操作系统的文件管理章节内容,理解有关文件组织形式、存储设备的概念。
2.实践准备:
掌握一种计算机高级语言的使用。
要求完成的主要任务:
(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1.编程序模拟磁盘调度的过程,采用指定算法,模拟并输出存取臂的移动顺序,并计算存取臂移动的磁道总数。
能够处理以下的情形:
⑴可根据需要输入当前磁头的位置,磁头移动方向;
⑵能够输入柱面数,磁道访问序列等参数,并能够显示调度结果(磁盘访问请求的磁道号以及磁头移动的总磁道数)。
2.设计报告内容应说明:
⑴需求分析;
⑵功能设计(数据结构及模块说明);
⑶开发平台及源程序的主要部分;
⑷测试用例,运行结果与运行情况分析;
⑸自我评价与总结:
)你认为你完成的设计哪些地方做得比较好或比较出色;
)什么地方做得不太好,以后如何改正;
)从本设计得到的收获(在编写,调试,执行过程中的经验和教训);
)完成本题是否有其他方法(如果有,简要说明该方法);
时间安排:
设计安排一周:
周1、周2:
完成程序分析及设计。
周2、周3:
完成程序调试及测试。
周4、周5:
验收、撰写课程设计报告。
(注意事项:
严禁抄袭,一旦发现,一律按0分记)
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
一:
摘要
文件系统是OS与用户关系最紧密的一部分,对用户来说,它是OS中最直观的部分,能否方便使用OS,以及OS的可信赖程度往往取决于文件系统的功能和性能。
而大容量磁盘、磁带等的出现,为程序和数据等软件资源的透明存取提供了物质基础。
这也导致了对软件资源管理质的飞跃——文件系统的出现。
文件的存储设备有多种类型,例如磁盘、光盘、磁带等。
其中存储设备的特性决定了文件的存取设备和方法,例如:
顺序存取设备和直接存取设备。
任何一种存取设备和方法都有它的优点和缺点,我们要根据不同的场景,来设计出不同的算法来存取文件,是的CPU的工作效率能够得以提高。
二:
需求分析
磁盘是可被多个多个进程共享的设备,当有多个进程都请求访问磁盘时,应采用一种适当的调度算法,对这些请求的服务顺序调整安排,以便达到降低平均磁盘服务时间,达到公平、高效。
常用的磁盘调度算法有先来先服务算法,最短寻道时间优先算法,扫描算法(或称为电梯算法)。
其中先来先服务算法的宗旨是哪个进程先来,则先跳读哪个算法。
这算法实现简单,而且相对公平,但是效率不高,而且,相邻两次请求可能会造成最内到嘴歪的柱面寻道,是磁头反复移动,增加了服务时间,对机械也不利。
而最短寻道时间优先算法则是优先选择距离当前磁头最近的访问请求的进程,对其进行服务,它主要考虑的是寻道优先,这样能够减少磁头与磁道的摩擦,改善了磁盘平均服务时间,但这也有可能造成某些访问请求长期等待,得不到服务。
基于上述两种算法的优缺点,电梯算法应运而生,塔克服了最短寻道优先的缺点,既考虑了距离,同时又考虑了方向。
其具体做法如下:
当设备无访问请求时,磁头不懂;党设备有访问请求时,磁头按一个方向移动,而在移动的过程中,对遇到的访问请求进行服务,然后判断该方向上是否还有访问请求;如果有则继续扫描,如果没有,就改变移动方向,并为经过的访问,请求服务,如此反复。
电梯算法适用于负担重的系统,这样可以较大程度的减轻由于先来先服务算法带来的磁头来回跑动的不利或者最短寻道优先算法的某些服务长时间等待而得不到服务的缺点。
而对于那些磁盘负担很轻的系统,我们则可以才用先来先服务的算法,因为这样的系统,磁盘调度不是很频繁,基于对进程,设备的利用率来说,则可以才用先来先服务算法,以达到公平,简单的效果。
每个调度算法都有各自的优缺点,我们要根据不同的场景,来选择不同的调度算法,甚至是开发出新的调度算法,以满足不同的场景的需要,提高CPU的效率。
三:
功能设计
磁盘上每个物理块的位置可以表示为;(柱面号、磁头号、扇区号),而为了管理的方便,文件系统使用的是磁盘的物理块号,磁盘的物理地址(三维)与磁盘物理块号(线性)有一一对应的关系。
启动磁盘输入输出要用磁盘物理地址。
磁盘物理地址与磁盘物理块号之间的转换由操作系统中文件系统与设备管理借口实现。
因此我们要设计的系统,要求可以输入柱面号,磁盘号和磁头的初始位置以及磁头最初的方向。
当然,根据场景不同我们还需要选择不同的调度算法,以充分利用CPU,是的系统的资源能够合理的分配。
所以本系统要求可以选择调度算法,并且在初始化的环境下,输入初始磁道号,以及需调度的作业数,和手动确定各个作业所在的磁道数。
再确定选择的调度算法之后,我们还要求输出在此次调度算法的情况下,磁道依次走过的路线和总的磁道数。
四:
开发平台及源程序
本系统是基于VS2010的开发,所使用的语言是C语言,主要源程序如下:
输入磁道数的函数:
voidinput()
{
boolflag1=true;
for(inti=0;i { while(flag1) { scanf("%d",&a[i]); if(a[i]<=0)printf("您输入的磁道数有误,应大于0,请重新输入此磁道"); elseflag1=false; } flag1=true; } } 输出调度结果的函数: voidoutput() { boolflag=true; if(funcflag==1) { ints=0;//保存单词磁头移动所经过的磁道数 if(a[0]>disc)sum=a[0]-disc; elsesum=disc-a[0]; printf("您选择的是先来先服务算法,调度作业的磁道依次为: ");
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 磁盘 调度 过程 模拟 先来先 服务 电梯 算法