磁盘调度实验报告_第1页
磁盘调度实验报告_第2页
磁盘调度实验报告_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、操作系统实验报告磁 盘 调 度实验六:磁盘调度算法一实验目的 复习模拟实现一种磁盘调度算法,进一步加深对磁盘调度效率的理解。二实验属性 该实验为设计性实验。三实验仪器设备及器材普通PC386以上微机四实验要求本实验要求 2 学时完成。 本实验要求完成如下任务:( 1) 建立相关的数据结构,作业控制块、已分配分区及未分配分区(2)实现一个分区分配算法,如最先适应分配算法、最优或最坏适应分配算法(3)实现一个分区回收算法(4)给定一批作业 / 进程,选择一个分配或回收算法,实现分区存储的模拟管理 实验前应复习实验中所涉及的理论知识和算法, 针对实验要求完成基本代码编写并完成预习报告、 实验中认真调

2、试所编代码并进行必要的测试、 记录并分析实验结果。 实验后认真 书写符合规范格式的实验报告(参见附录A),并要求用正规的实验报告纸和封面装订整齐,按时上交。五 . 主要算法分析各个算法分析1. 先来先服务算法( FCFS)先来先服务(FCFS调度:按先来后到次序服务,未作优化。最简单的移臂调度算法是“先来先服务”调度算法, 这个算法实际上不考虑访问者要求 访问的物理位置, 而只是考虑访问者提出访问请求的先后次序。 例如, 如果现在读写磁头正 在 50 号柱面上执行输出操作,而等待访问者依次要访问的柱面为130、199、32、159、15、148、61、99,那么,当 50 号柱面上的操作结束后

3、,移动臂将按请求的先后次序先移到130号柱面,最后到达 99 号柱面。采用先来先服务算法决定等待访问者执行输入输出操作的次序时,移动臂来回地移动。 先来先服务算法花费的寻找时间较长,所以执行输入输出操作的总时间也很长。2. 最短寻道时间优先算法( SSTF)最短寻找时间优先调度算法总是从等待访问者中挑选寻找时间最短的那个请求先执行 的,而不管访问者到来的先后次序。现在仍利用同一个例子来讨论,现在当50 号柱面的操作结束后,应该先处理 61 号柱面的请求,然后到达 32 号柱面执行操作,随后处理 15号柱 面请求,后继操作的次序应该是99、130、148、159、199。采用最短寻找时间优先算法

4、决定等待访问者执行操作的次序时,读写磁头总共移动了200 多个柱面的距离,与先来先服务、算法比较,大幅度地减少了寻找时间,因而缩短了为 各访问者请求服务的平均时间,也就提高了系统效率。但最短查找时间优先(SSTF)调度,FCFS会引起读写头在盘面上的大范围移动, SSTF查找 距离磁头最短(也就是查找时间最短)的请求作为下一次服务的对象。SSTF查找模式有高度局部化的倾向,会推迟一些请求的服务,甚至引起无限拖延(又称饥饿)。3. 扫描算法( SCAN)SCAN算法又称电梯调度算法。SCAN算法是磁头前进方向上的最短查找时间优先算法,它排除了磁头在盘面局部位置上的往复移动,SCAN算法在很大程度

5、上消除了 SSTF算法的不公平性,但仍有利于对中间磁道的请求。“电梯调度”算法是从移动臂当前位置开始沿着臂的移动方向去选择离当前移动臂最 近的那个柱访问者, 如果沿臂的移动方向无请求访问时, 就改变臂的移动方向再选择。 这好 比乘电梯, 如果电梯已向上运动到 4层时, 依次有 3 位乘客陈生、 伍生、张生在等候乘电梯。 他们的要求是:陈生在 2 层等待去 10 层;伍生在 5 层等待去底层;张生在 8层等待 15层。 由于电梯目前运动方向是向上,所以电梯的形成是先把乘客张生从8层带到 15 层,然后电梯换成下行方向,把乘客伍生从5层带到底层,电梯最后再调换方向, 把乘客陈生从2层送 到10层。

6、但是,“电梯调度”算法在实现时,不仅要记住读写磁头的当前位置,还必须记住移动臂的当前前进方向。六、程序代码#in clude<>#in clude<>#in clude<>来先服务算法流程图void FCFS(i nt array,i nt m)3.扫描算法流程图八课程设计运行结果一 . 运行后的开始界面如下:二、运行各个算法结果如下1运行先来先服务(FCFS算法调度后程序结果如下:2 运行最短寻道时间优先(SSTF)算法调度程序结果如下:3 运行扫描(SCAN算法调度程序结果如下:5 选择退出后程序界面如下:九心得体会整个设计中最麻烦的就是整个程序模块的划

7、分和各模块之间接口设计,编程中经常犯想当然的错误,编程中出现了不少奇怪的错误。再调试中尝试使用了分割法, 对错误模块进行定位 ,再进行排查 . 通过这次的课程设计使我认识到要将操作系统这门计算机专业的课学好 不仅仅是要把书上的基本知识学好而且还要不断进行实践, 将所学的跟实践操作结合起来才 能更好地巩固所学,才能提高自己实践能力 . 通过这次的设计使我认识到只停留在表面理解 问题是很难使问题得到很好的解决的, 实践能力与理论知识同样重要。 可以说此课程设计的 理论难度并不大, 但是若要深入发掘其中的东西, 并且实际去编程实现, 就遇到了相当大的 难度。因为与之涉及的很多方面并没有学过,需要自己去自学和实践检验。,通过模拟磁盘调度及进程排队算

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论