2024年磁盘调度实验报告.doc

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

一.課程设计目的和规定

操作系统是计算机系统的一种重要系统软件。我們在本課程的试验过程中,理解实际操作系统的工作过程,在实践中加深对操作系统原理的理解。

本试验设计的目的是通过设计一种磁盘调度模拟系统,以加深对FCFS、最短寻道時间以及电梯等磁盘调度算法的理解。让我們更好地掌握操作系统的原理及实現措施,加深对操作系统基础理论和重要算法的理解,加强动手能力。

課程设计规定

⑴模拟一种磁盘调度算法;

⑵规定可以模拟FCFS、最短寻道時间、电梯算法三个磁盘调度算法;

⑶输入為一组作业的磁道祈求;

⑷输出為按选择的算法执行時的磁头移动轨迹。

二.系统需求分析

磁盘调度重要思想:

设备的动态分派算法与进程调度相似,也是基于一定的分派方略的。常用的分派方略有先祈求先分派、优先级高者先分派等方略。在多道程序系统中,低效率一般是由于磁盘类旋转设备使用不妥导致的。操作系统中,对磁盘的访问规定来自多方面,常常需要排队。这時,对众多的访问规定按一定的次序响应,会直接影响磁盘的工作效率,进而影响系统的性能。访问磁盘的時间因子由3部分构成,它們是查找(查找磁道)時间、等待(旋转等待扇区)時间和数据传播時间,其中查找時间是决定原因。因此,磁盘调度算法先考虑优化查找方略,需要時再优化旋转等待方略。

平均寻道長度(L)為所有磁道所需移动距离之和除以总的所需访问的磁道数(N),既:L=(M1+M2+……+Mi+……+MN)/N

其中Mi為所需访问的磁道号所需移动的磁道数。

启动磁盘执行输入输出操作時,要把移动臂移动到指定的柱面,再等待指定扇区的旋转到磁头位置下,然后让指定的磁头进行读写,完毕信息传送。因此,执行一次输入输出所花的時间有:

寻找時间——磁头在移动臂带动下移动到指定柱面所花的時间。

延迟時间——指定扇区旋转到磁头下所需的時间。

传送時间——由磁头进程读写完毕信息传送的時间。

其中传送信息所花的時间,是在硬件设计就固定的。而寻找時间和延迟時间是与信息在磁盘上的位置有关。為了减少移动臂进行移动花费的時间,每个文献的信息不是按盘面上的磁道次序寄存满一种盘面后,再放到下一种盘面上。而是按柱面寄存,同一柱面上的各磁道被放满信息后,再放到下一种柱面上。因此各磁盘的编号按柱面次序(从0号柱面开始),每个柱面按磁道次序,每个磁道又按扇区次序进行排序。

磁盘是可供多种进程共享的设备,当有多种进程都规定访问磁盘是,应采用一种最佳调度算法,以使多种进程对磁盘的平均访问時间最小。由于在访问磁盘的時间中,重要是寻道時间,因此,磁盘调度的目的,是使磁盘的平均寻道時间至少。目前常用的磁盘帝调度算法有:先来先服务、最短寻道時间优先及扫描等算法。

三概要设计

系统流程图

开始输入数据

开始

输入数据

选择算法?

调用FCFS()算法

调用SSTF()算法

调用SCAN()算法

输出

退出

磁盘调度系统

磁盘调度系统

删除結点

建立单链表

输出单链表

添加結点

函数调用关系图

M

Main函数

SCAN函数SSTF函数FCFS函数

SCAN函数

SSTF函数

FCFS函数

输出

输出

四、详细设计

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

先来先服务(FCFS)调度:按先来后到次序服务,未作优化。

最简朴的移臂调度算法是“先来先服务”调度算法,这个算法实际上不考虑访问者规定访问的物理位置,而只是考虑访问者提出访问祈求的先后次序。例如,假如目前读写磁头正在50号柱面上执行输出操作,而等待访问者依次要访问的柱面為130、199、32、159、15、148、61、99,那么,当50号柱面上的操作結束后,移动臂将按祈求的先后次序先移到130号柱面,最终抵达99号柱面。

采用先来先服务算法决定等待访问者执行输入输出操作的次序時,移动臂来回地移动。先来先服务算法花费的寻找時间较長,因此执行输入输出操作的总時间也很長。

.输入目前磁道号now磁头移动距离

输入目前磁道号now

磁头移动距离

sum=abs(now-array[0])

磁头移动总距离Sum+=abs(array[j]-array[i])

输出磁盘调度序列array[j]

目前的位置变為目前的位置j++

jm

输出平均寻道長度

avg=sum/(m)

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

最短寻找時间优先调度算法总是从等待访问者中挑选寻找時间最短的那个祈求先执行的,而不管访问者到来的先后次序。目前仍运用同一种例子来讨论,目前当50号柱面的操作結束后,应当先处理61号柱面的祈求,然后抵达32号柱面执行操作,随既处理15号柱面祈求,后继操作的次序应当是99、130、148、159、199。

采用最短寻找時间优先算法决定等待访问者执行操作的次序時,读写磁头总共移动了200多种柱面的距离,与先来先服务、算法比较,大幅度地减少了寻找時

您可能关注的文档

文档评论(0)

130****8663 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档