编程模拟实现磁盘调度算法.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编程模拟实现磁盘调度算法(1) —采用最短寻道时间优先算法 班级 04师本(3)班 学号 0408008301 姓名 陈海颖 一、实验目的与实验项目介绍 1、实验目的 通过实际编程来模拟实现磁盘调度算法中的采用最短寻道时间优先算法,并达到对知识的熟练掌握。 2、实验项目介绍 本设计为磁盘调度算法模拟实现系统,选用Microsoft Visual Studio.NET 2005中的vb.net作为开发工具,实现最短寻道时间优先算法. 二、实验项目方案设计 1、算法思想: 最短寻道时间优先算法:首先确定当前磁头所在的磁道号,然后对请求的磁道号从小到大进行排序。接着找到一个跟当前磁道号最接近的磁道号; 如找到则从当前位置开始执行,接着从当前磁道号再找一个跟当前磁道号最接近的磁道号,依次执行,直到结束。 2、算法流程 先把输入的要求访问的序列号从小到大排序,分析当前位置的可能位置。如果当前位置小于最小序列号,则不做改动,直接按顺序输出;如果当前位置大于最大的序列号,则将序列从大到小排序,再按顺序输出即可;如果不是这两种情况,则将当前位置虚拟插入序列号中,比较当前位置左右的序列号与当前位置的距离,找出距离最小的并将其值赋给OUTPUT和当前位置,再从新的当前位置寻找下一个最短距离的序列号。如此循环,即可实现最短寻道时间优先算法。 三、实验实施步骤 1、创建应用程序界面 在VB.NE中使用WINDOWS应用程序生成一个窗体应用程序form1,并给主窗口取名为“模拟磁盘调度算法之最短寻道时间优先算法”。 2、窗体设计如下图所示; 建立界面(如上图),包含17个文本框,分别表示当前磁头位置、即将访问的队列(5个)、算法得到的序列(5个)、每次移动距离和移动总距离。4个按钮控件Button1—Button3激活各个算法,Button1实现清除算法,使各控件初始为零,重新运算;Button2实现调度算法,Button3实现平均移动距离的算法,Label实现总移动距离的求解。 3、具体控件的功能及如何实现 (1)输入的要求访问的序列号的表示 如图所示,用TextBox1、TextBox2、TextBox3、 TextBox4、TextBox5存放输入的5个系列号,TextBox6存放输入的当前位置nowpoint,通过下面的代码,将各文本框的值用变量m1、 m2 、m3、 m4、m5、nowpoint: m1 = Val(TextBox1.Text) m2 = Val(TextBox2.Text) m3 = Val(TextBox3.Text) m4 = Val(TextBox4.Text) m5 = Val(TextBox5.Text) nowpoint = Val(TextBox6.Text) (2) 按钮“执行算法”,单击该按钮即实现最短寻道时间优先算法。执行算法后得到的结果,存放在TextBox7中,用变量output表示。并把结果也赋给五个并列的文本框TextBox8、TextBox9、TextBox10、TextBox11、TextBox12。 算法代码如下: Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim k As Integer = 1 Dim r, m1, m2, m3, m4, m5 As Integer Dim i As Integer Dim j As Integer Dim temp As Integer Dim output As String Dim nowpoint As Integer Dim a(5) As Integer Dim t1, t2, t3, t4 As Integer m1 = Val(TextBox1.Text) m2 = Val(TextBox2.Text) m3 = Val(TextBox3.Text) m4 = Val(TextBox4.Text) m5 = Val(TextBox5.Text) nowpoint = Val(TextBox6.Text) a(0) = m1 a(1) = m2 a(2) = m3 a(3) =

文档评论(0)

wangxing1张 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档