程序模拟磁盘调度设计实验4实验报告.docx

程序模拟磁盘调度设计实验4实验报告.docx

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

《操作系统》实验报告

年级、专业、班级

2010级信安一班

姓名

2010级信安二班

实验题目 程序模拟磁盘调度设计

实验时间

2013.5.21

实验地点

主教0416

实验成绩

实验性质

□验证性

□设计性

□综合性

教师评价:

□算法/实验过程正确;

□源程序/实验内容提交

□程序结构/实验步骤合理;

□实验结果正确;

其他:

□语法、语义正确;

□报告规范;

评价教师签名:

一、实验目的

设计程序实现FIFO、SSTF、SCAN和C-SCAN算法模拟磁盘调度。

二、实验项目内容

设计程序实现分析四种不同的磁盘调度算法,统计每种算法的磁道移动数。

程序功能:

设计程序实现FIFO、SSTF、SCAN以及C-SCAN四种不同的磁盘调度算法。

磁盘调度请求序列长度不少于100。

给出每种调度的服务序列。

统计每种调度的磁道移动数。

根据实验结果,对四种调度算法进行分析评价。

三、实验过程或算法(源程序)

程系统主界面可以灵活选择某种算法,算法包括:先来先服务算法(FCFS)、最短寻道时间优先算法(SSTF)、扫描算法(SCAN)、循环扫描算法(CSCAN)。

模块调用关系图:

1、先来先服务算法(FCFS)

这是一种比较简单的磁盘调度算法。它根据进程请求访问磁盘的先后次序进行调度。此算法的优点是公平、简单,且每个进程的请求都能依次得到处理,不会出现某一进程的请求长期得不到满足的情况。此算法由于未对寻道进行优化,在对磁盘的访问请求比较多的情况下,此算法将降低设备服务的吞吐量,致使平均寻道时间可能较长,但各进程得到服务的响应时间的变化幅度较小。

2、最短寻道时间优先算法(SSTF)

该算法选择这样的进程,其要求访问的磁道与当前磁头所在的磁道距离最近,以使每次的寻道时间最短,该算法可以得到比较好的吞吐量,但却不能保证平均寻道时间最短。其缺点是对用户的服务请求的响应机会不是均等的,因而导致响应时间的变化幅度很大。在服务请求很多的情况下,对内外边缘磁道的请求将会无限期的被延迟,有些请求的响应时间将不可预期。

3、扫描算法(SCAN)

扫描算法不仅考虑到欲访问的磁道与当前磁道的距离,更优先考虑的是磁头的当前移动方向。例如,当磁头正在自里向外移动时,扫描算法所选择的下一个访问对象应是其欲访问的磁道既在当前磁道之外,又是距离最近的。这样自里向外地访问,直到再无更外的磁道需要访问才将磁臂换向,自外向里移动。这时,同样也是每次选择这样的进程来调度,即其要访问的磁道,在当前磁道之内,从而避免了饥饿现象的出

现。由于这种算法中磁头移动的规律颇似电梯的运行,故又称为电梯调度算法。此算法基本上克服了最短寻道时间优先算法的服务集中于中间磁道和响应时间变化比较大的缺点,而具有最短寻道时间优先算法的优点即吞吐量较大,平均响应时间较小,但由于是摆动式的扫描方法,两侧磁道被访问的频率仍低于中间磁道。

4、循环扫描算法(CSCAN)

循环扫描算法是对扫描算法的改进。如果对磁道的访问请求是均匀分布的,当磁头到达磁盘的一端,并反向运动时落在磁头之后的访问请求相对较少。这是由于这些磁道刚被处理,而磁盘另一端的请求密度相当高,且这些访问请求等待的时间较长,为了解决这种情况,循环扫描算法规定磁头单向移动。例如,只自里向外移动,当磁头移到最外的被访问磁道时,磁头立即返回到最里的欲访磁道,即将最小磁道号紧接

着最大磁道号构成循环,进行扫描。

注:以上算法的实现程序见附录一源代码。

四、实验结果及分析和(或)源程序调试过程

主界面:

4-1.主界面

在“磁盘磁道数”、“被请求磁道数”、“当前磁道”输入框中输入相应内容,则随机生成并在“磁道请求序列”显示框中显示生成的请求序列:

图4-2生成序列

在组合框中选择相应的算法进行模拟,在“调度服务序列”显示框显示相应算法的调度序列及磁道号移动距离:

图4-3FIFO算法模拟结果

图4-4SSTF算法模拟结果

图4-5SCAN算法模拟结果

演示结束。

图4-6C-SCAN算法模拟结果

五、心得体会:

通过本次实验,我对四种磁盘调度算法策略有了更深的了解,理解了操作系统关于磁盘管理的一些方法,并通过编程实现了FIFO算法,SSTF算法,SCAN算法,C-SCAN算法。也进一步提高了我们的编程能力,从中学会了很多。

六、附录(程序源代码)

DiskScheduling.java

importjava.awt.BorderLayout;

importjava.awt.GridLayout;

importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;

文档评论(0)

tianya189 + 关注
官方认证
内容提供者

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

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档