操作系统——移动臂调度算法的实现.pdf

操作系统——移动臂调度算法的实现.pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
南京工程学院 上机实 验 报 告 课 程 名 称: 操作系统 实验项目名称: 移动臂调度算法的实现 学生班级: 学生学号: 学生姓名: 指导教师: 实 验 时 间: 实 验 地 点: 信息楼专业机房 实验成绩评定: 2016-2017-1 学期 一、实验目的及内容 掌握操作系统的设备管理功能, 熟悉移动臂调度算法, 设计恰当的数据结构和算法, 模 拟实现移动臂调度算法。要求至少模拟实现一种磁盘移臂调度算法。 二、实验相关知识简介 磁盘移臂调度的目标就是要使磁盘访问的总时间中的寻找时间最小。 因此,磁盘移臂调 度要尽量减少磁盘移动臂移动的距离。 磁盘移臂调度算法很多, 常用的也有好几种, 一个好 的磁盘调度算法, 不仅要使磁盘寻找时间最小, 同时,还要避免移动臂频繁地改变移动方向, 因为频繁的改向不仅使时间增加,还容易损耗机械部件。 常用的磁盘移臂调度算法有:先来先服务、最短寻找时间优先、单向扫描、双向扫描调 度算法等。 三、解决问题思路及关键程序代码分析 (一) 最短寻找时间优先调度算法简介 最短寻找时间调度算法总是使寻找时间最短的请求最先得到服务, 跟请求者的请求时间 先后顺序无关。 这种算法具有比先来先服务更好的性能。 但是该算法可能会出现请求者被 “饿 死” 的情况, 当靠近磁头的请求源源不断地到来, 这会使早来的但离磁头较远的请求长时间 得不到服务。 该算法的优点是可以得到较短的平均响应时间, 有较好的吞吐量。 该算法的缺点是缺乏 公平性,对中间磁道的访问比较“照顾”,对两端磁道访问比较“疏远”,相应时间的变化 幅度较大。该算法与先来先服务算法一样,都会导致移动臂频繁改向。 (二) 算法模拟 1. 对算法设计进行说明 该算法的实现中,主要是选择调度处理的磁道是与当前磁头所在磁道距离最近的磁道, 以使每次的寻道时间最短。 当选择了某个离当前磁头所在磁道最近的磁道, 下一轮的当前磁 道便改成了上一轮的最近磁道, 并且把这个最近的磁道从请求序列取消, 直到请求序列中不 再有请求的磁道。 2. 关键代码分析 import java.io.*; import java.util.*; public class { private static int maxsize = 100; private static int Disc [] = new int [ maxsize ]; // 请求序列 private static int count ; // 要访问的磁道数 private static int disc ; // 当前磁道号 private static int perTime ; // 移过每个柱面需要时间 private static int Distance =0; // 总寻道长度 private static int FindTime ; // 查找时间 private static double AvgDistance ; // 平均寻道长度 public Suanfa( int disc, int count, int perTime, int Disc[]) { this . disc =disc;

文档评论(0)

zaqxsw1230 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档