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

合集下载

操作系统磁盘管理实验报告

操作系统磁盘管理实验报告

实验报告课程名称:操作系统院系:信息与控制工程学院专业班级:计算机0801姓名:指导老师:2010年 12月 31日目录一、实验目的 2二、需求分析 2三概要设计 3四、详细设计 4(1)先来先服务算法(FCFS) 4(2)最短寻道时间优先算法(SSTF) 5(3)电梯算法(SCAN) 7五、调试过程 8六、结论与体会 8七、附件:源程序清单 9一、实验目的本实验的目的是通过设计一个磁盘调度模拟系统,以加深对FCFS、最短寻道时间以及电梯等磁盘调度算法的理解。

让我们更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强动手能力。

二、需求分析1、模拟一个磁盘调度算法;Visual C++ 6.0平台2、输入为一组作业的磁道请求;作业的寻到请求可以用一个数组模拟3、要求能够模拟FCFS、最短寻道时间、电梯算法三个磁盘调度算法;FCFS (First Come First Served )先来先服务,在计算机并行任务处理中,被视为最简单的任务排序策略,即是无论任务大小和所需完成时间,对先到的任务先处理,后到的任务后处理。

按照此算法,数组顺序输出即可。

最短寻道时间优先(ShortestSeekTimeFirst,SSTF)要求访问的磁道与当前磁头所在的磁道距离最近,以使每次的寻道时间最短,确定当前磁道,选择距离当前最近的。

电梯算法,磁臂仅移动到请求的最外道就回转。

反方向查找服务。

确定当前磁道以及运动方向,排序后的数组当前磁道以后的磁道顺序序输出,在将剩余反向输出。

4、输出为按选择的算法执行时的磁头移动轨迹和移动的总道数。

三概要设计系统流程图四、详细设计(1)先来先服务算法(FCFS)先来先服务(FCFS)调度:按先来后到次序服务,未作优化。

最简单的移臂调度算法是“先来先服务”调度算法,这个算法不必考虑当前移臂所在的位置,而只是考虑访问者提出访问请求的先后次序。

.先来先服务算法流程图(2)最短寻道时间优先算法(SSTF)最短寻找时间优先调度算法总是从等待访问者中挑选寻找时间最短(距离当前移臂最近)的那个请求先执行的,而不管访问者到来的先后次序。

操作系统磁盘调度算法实验报告及代码

操作系统磁盘调度算法实验报告及代码

操作系统磁盘调度算法实验报告及代码一、实验目的通过实验掌握磁盘调度算法的实现过程,了解各种不同磁盘调度算法的特点和优缺点,并比较它们的性能差异。

二、实验原理磁盘调度是操作系统中的重要内容,其主要目的是提高磁盘的利用率和系统的响应速度。

常见的磁盘调度算法有:FCFS(先来先服务)、SSTF (最短寻道时间)、SCAN(扫描)、C-SCAN(循环扫描)等。

三、实验过程1.编写代码实现磁盘调度算法首先,我们需要定义一个磁盘请求队列,其中存放所有的IO请求。

然后,根据所选的磁盘调度算法,实现对磁盘请求队列的处理和IO请求的调度。

最后,展示运行结果。

以FCFS算法为例,伪代码如下所示:```diskQueue = new DiskQueue(; // 创建磁盘请求队列while (!diskQueue.isEmpty()request = diskQueue.dequeue(; // 取出队列头的IO请求//处理IO请求displayResult(; // 展示运行结果```2.运行实验并记录数据为了验证各种磁盘调度算法的性能差异,我们可以模拟不同的场景,例如,随机生成一批磁盘IO请求,并使用不同的磁盘调度算法进行处理。

记录每种算法的平均响应时间、平均等待时间等指标。

3.撰写实验报告根据实验数据和结果,撰写实验报告。

实验报告通常包括以下内容:引言、实验目的、实验原理、实验步骤、实验结果、实验分析、结论等。

四、实验结果与分析使用不同的磁盘调度算法对磁盘IO请求进行处理,得到不同的实验结果。

通过对比这些结果,我们可以看出不同算法对磁盘IO性能的影响。

例如,FCFS算法对于请求队列中的请求没有排序,可能会导致一些请求等待时间过长。

而SSTF算法通过选择离当前磁道最近的请求进行处理,能够减少平均寻道时间,提高磁盘性能。

五、实验总结通过本次实验,我们学习了操作系统中磁盘调度算法的原理和实现过程。

不同的磁盘调度算法具有不同的优缺点,我们需要根据实际情况选择合适的算法。

磁盘驱动调度算法的模拟

磁盘驱动调度算法的模拟

实验四磁盘驱动调度算法的模拟一.实验内容:熟悉磁盘的结构以及磁盘的驱动调度算法的模拟,编程实现简单常用的磁盘驱动调度算法先来先服务(FIFO)、电梯调度算法、最短寻找时间优先算法、扫描(双向扫描)算法、单向扫描(循环扫描)算法等。

编程只需实现两个算法。

题目可以选取教材或习题中的相关编程实例。

编程语言建议采用c/c++或Java。

模拟程序鼓励采用随机数技术、动态空间分配技术,有条件的最好能用图形界面展现甚至用动画模拟。

实验性质:验证型。

二.实验目的和要求1)掌握使用一门语言进行磁盘驱动调度算法的模拟;2)编写程序将磁盘驱动调度算法的过程和结果能以较简明直观的方式展现出来。

三.实验原理、方法和步骤1. 实验原理磁盘驱动调度对磁盘的效率有重要影响。

磁盘驱动调度算法的好坏直接影响辅助存储器的效率,从而影响计算机系统的整体效率。

常用的磁盘驱动调度算法有:最简单的磁盘驱动调度算法是先入先出(F IFO)法。

这种算法的实质是,总是严格按时间顺序对磁盘请求予以处理。

算法实现简单、易于理解并且相对公平,不会发生进程饿死现象。

但该算法可能会移动的柱面数较多并且会经常更换移动方向,效率有待提高。

最短寻找时间优先算法:总是优先处理最靠近的请求。

该算法移动的柱面距离较小,但可能会经常改变移动方向,并且可能会发生进程饥饿现象。

电梯调度:总是将一个方向上的请求全部处理完后,才改变方向继续处理其他请求。

扫描(双向扫描):总是从最外向最里进行扫描,然后在从最里向最外扫描。

该算法与电梯调度算法的区别是电梯调度在没有最外或最里的请求时不会移动到最外或最里柱面,二扫描算法总是移到最外、最里柱面。

两端的请求有优先服被务的迹象。

循环扫描(单向扫描):从最外向最里进行柱面请求处理,到最里柱面后,直接跳到最外柱面然后继续向里进行处理。

该算法与扫描算法的区别是,回来过程不处理请求,基于这样的事实,因为里端刚被处理。

2. 实验方法1)使用流程图描述演示程序的设计思想;2)选取c/c++、Java等计算机语言,编程调试,最终给出运行正确的程序。

操作系统 磁盘调度程序模拟

操作系统 磁盘调度程序模拟

实验4:磁盘调度程序模拟实验目的:编写程序来模拟计算机的两种调度方式:(1)先来先服务调度算法(2)最短寻道优先调度算法程序设计1.先来先服务算法(FCFS)先来先服务(FCFS)调度:按先来后到次序服务,未作优化。

最简单的移臂调度算法是“先来先服务”调度算法,这个算法实际上不考虑访问者要求访问的物理位置,而只是考虑访问者提出访问请求的先后次序。

例如,如果现在读写磁头正在50号柱面上执行输出操作,而等待访问者依次要访问的柱面为130、199、32、159、15、148、61、99,那么,当50号柱面上的操作结束后,移动臂将按请求的先后次序先移到130号柱面,最后到达99号柱面。

采用先来先服务算法决定等待访问者执行输入输出操作的次序时,移动臂来回地移动。

先来先服务算法花费的寻找时间较长,所以执行输入输出操作的总时间也很长。

2.短寻道时间优先算法(SSTF)最短寻找时间优先调度算法总是从等待访问者中挑选寻找时间最短的那个请求先执行的,而不管访问者到来的先后次序。

现在仍利用同一个例子来讨论,现在当50号柱面的操作结束后,应该先处理61号柱面的请求,然后到达32号柱面执行操作,随后处理15号柱面请求,后继操作的次序应该是99、130、148、159、199。

采用最短寻找时间优先算法决定等待访问者执行操作的次序时,读写磁头总共移动了200多个柱面的距离,与先来先服务、算法比较,大幅度地减少了寻找时间,因而缩短了为各访问者请求服务的平均时间,也就提高了系统效率。

但最短查找时间优先(SSTF)调度,FCFS会引起读写头在盘面上的大范围移动,SSTF查找距离磁头最短(也就是查找时间最短)的请求作为下一次服务的对象。

SSTF查找模式有高度局部化的倾向,会推迟一些请求的服务,甚至引起无限拖延(又称饥饿)。

结果分析1.先来先服务2.最短寻道时间优先程序源码:#include<stdio.h>#include<math.h>void FCFS(int b[],int n,int init) //先来先服务{ int i,s,sum;int a[20];for(i=0;i<n;i++)a[i]=b[i];s=init;sum=0;for(i=0;i<n;i++){ printf("第%d次访问的磁道:%d\n",i+1,a[i]);sum+=abs(s-a[i]);s=a[i];}printf("平均寻道长度:%f\n",sum*1.0/n);}void SSTF(int b[],int n,int k) //最短寻道法{ int i,j,s,sum=0,p;int a[20];for(i=0;i<n;i++)a[i]=b[i];for(i=n-1;i>=0;i--){ s=a[0];p=0;for(j=0;j<=i;j++)if(abs(a[j]-k)<abs(s-k)){ s=a[j];p=j;}a[p]=a[i];printf("第%d次访问的磁道:%d\n",n-i,s);sum+=abs(s-k);k=s;}printf("平均寻道长度:%f\n",sum*1.0/n);}void main(){ int a[20];int i,n,k,k1,init;printf("请输入需要访问的磁道总数:");scanf("%d",&n);for(i=0;i<n;i++){ printf("需要访问的磁道%d:",i+1);scanf("%d",&a[i]);}printf("请输入指针所在磁道:");scanf("%d",&init);k=1;while(k){ printf("**********************************\n");printf("$$$$$$$$$$$程倩——磁盘调度$$$$$$$$$\n");printf("** 1.先来先服务(FCFS) **\n");printf("** 2.最短寻道时间优先(SSTF) **\n");printf("** 0.退出**\n");printf("**********************************\n");printf("&&&&&&&&&&&&谢谢使用&&&&&&&&&&&&&&\n");printf("请在下面输入您的选择:");scanf("%d",&k);switch(k){case 1:FCFS(a,n,init);break;case 2:SSTF(a,n,init);break;case 3:k1=1;while(k1){printf("*********************************\n");printf("########程倩——磁盘调度###########\n");printf("**** 1.移动臂由里向外**\n");printf("**** 2.移动臂由外向里**\n");printf("**** 0.返回上一层**\n");printf("*********************************\n");printf("#############谢谢使用############\n");printf("请在下面输入您的选择:");scanf("%d",&k1);switch(k1){case 1:SCAN1(a,n,init);break;case 2:SCAN2(a,n,init);break;}}break;case 4:C_SCAN(a,n,init);break;}}}。

(完整word版)程序模拟磁盘调度设计实验4实验报告

(完整word版)程序模拟磁盘调度设计实验4实验报告

《操作系统》实验报告三、实验过程或算法(源程序)程系统主界面可以灵活选择某种算法,算法包括:先来先服务算法(FCFS)、最短寻道时间优先算法(SSTF)、扫描算法(SCAN)、循环扫描算法(CSCAN)。

模块调用关系图:1、先来先服务算法(FCFS)这是一种比较简单的磁盘调度算法。

它根据进程请求访问磁盘的先后次序进行调度。

此算法的优点是公平、简单,且每个进程的请求都能依次得到处理,不会出现某一进程的请求长期得不到满足的情况。

此算法由于未对寻道进行优化,在对磁盘的访问请求比较多的情况下,此算法将降低设备服务的吞吐量,致使平均寻道时间可能较长,但各进程得到服务的响应时间的变化幅度较小。

2、最短寻道时间优先算法(SSTF)该算法选择这样的进程,其要求访问的磁道与当前磁头所在的磁道距离最近,以使每次的寻道时间最短,该算法可以得到比较好的吞吐量,但却不能保证平均寻道时间最短。

其缺点是对用户的服务请求的响应机会不是均等的,因而导致响应时间的变化幅度很大。

在服务请求很多的情况下,对内外边缘磁道的请求将会无限期的被延迟,有些请求的响应时间将不可预期。

3、扫描算法(SCAN)扫描算法不仅考虑到欲访问的磁道与当前磁道的距离,更优先考虑的是磁头的当前移动方向。

例如,当磁头正在自里向外移动时,扫描算法所选择的下一个访问对象应是其欲访问的磁道既在当前磁道之外,又是距离最近的。

这样自里向外地访问,直到再无更外的磁道需要访问才将磁臂换向,自外向里移动。

这时,同样也是每次选择这样的进程来调度,即其要访问的磁道,在当前磁道之内,从而避免了饥饿现象的出现。

由于这种算法中磁头移动的规律颇似电梯的运行,故又称为电梯调度算法。

此算法基本上克服了最短寻道时间优先算法的服务集中于中间磁道和响应时间变化比较大的缺点,而具有最短寻道时间优先算法的优点即吞吐量较大,平均响应时间较小,但由于是摆动式的扫描方法,两侧磁道被访问的频率仍低于中间磁道。

4、循环扫描算法(CSCAN)循环扫描算法是对扫描算法的改进。

磁盘调度实验报告实验总结

磁盘调度实验报告实验总结

磁盘调度实验报告实验总结磁盘调度是操作系统中的一个重要概念,它是指操作系统通过合理的算法和策略来管理和调度磁盘上的数据访问请求。

磁盘调度的目的是提高磁盘的读写效率,减少磁盘访问的时间开销,从而提高系统的整体性能。

本次实验主要对比了三种常见的磁盘调度算法:先来先服务(FCFS)、最短寻道时间优先(SSTF)和电梯算法(SCAN)。

通过对比实验结果分析各种算法的性能表现和特点,并给出相应的实验总结。

实验总结如下:一、先来先服务(FCFS)算法FCFS算法是一种简单直接的磁盘调度算法,它按照请求的顺序依次进行访问。

实验结果表明,FCFS算法的平均寻道时间较高,且易产生长期等待现象。

这是因为FCFS算法无法优化磁头的移动顺序,只能按照请求的先后顺序安排磁道的访问,从而导致了较差的性能表现。

二、最短寻道时间优先(SSTF)算法SSTF算法根据当前磁头位置选择距离最近的请求进行服务。

实验结果表明,SSTF算法的平均寻道时间明显优于FCFS算法,且缓解了长期等待现象。

这是因为SSTF算法可以选择离当前磁头位置最近的请求,从而减少了寻道时间,提高了磁道的访问效率。

三、电梯算法(SCAN)算法SCAN算法也称为电梯算法,它模拟了电梯运行的原理。

SCAN算法先将磁头移动到一个极限位置,然后沿着一个方向依次访问请求,直到到达另一个极限位置,再改变方向重复上述过程。

实验结果表明,SCAN算法的平均寻道时间与SSTF 算法相当,且具有较好的均衡性。

这是因为SCAN算法可以使得磁头在磁盘上的行进路线保持平衡,避免了过多的磁道之间的跳跃,从而提高了磁道的访问效率。

综上所述,不同的磁盘调度算法具有不同的性能表现和特点。

在实际应用中,需要根据具体的场景和需求选择合适的磁盘调度算法。

一般而言,SSTF算法和SCAN算法在性能上表现较好,可以提高磁盘的读写效率,减少寻道时间开销。

而FCFS算法在实际应用中较为有限,对于长期等待和寻道时间要求较高的场景不太适用。

磁盘调度的实验报告(3篇)

磁盘调度的实验报告(3篇)

第1篇一、实验目的1. 理解磁盘调度算法的基本原理和重要性。

2. 掌握几种常见的磁盘调度算法,包括先来先服务(FCFS)、最短寻道时间优先(SSTF)、扫描(SCAN)和循环扫描(C-SCAN)算法。

3. 通过模拟实验,分析不同磁盘调度算法的性能差异。

4. 优化磁盘调度策略,提高磁盘访问效率。

二、实验环境1. 操作系统:Windows 102. 编程语言:Python3.83. 磁盘调度算法模拟库:PyDiskScheduling三、实验内容1. FCFS算法:模拟实现先来先服务算法,按照请求顺序访问磁盘。

2. SSTF算法:模拟实现最短寻道时间优先算法,优先访问距离当前磁头最近的请求。

3. SCAN算法:模拟实现扫描算法,磁头从0号磁道开始向0号磁道移动,访问所有请求,然后返回到0号磁道。

4. C-SCAN算法:模拟实现循环扫描算法,与SCAN算法类似,但磁头在到达末尾磁道后返回到0号磁道。

四、实验步骤1. 导入PyDiskScheduling库。

2. 创建一个磁盘调度对象,指定磁头初始位置、请求序列和调度算法。

3. 运行调度算法,获取磁头移动轨迹和访问时间。

4. 分析算法性能,包括磁头移动次数、平均访问时间和响应时间等。

五、实验结果与分析1. FCFS算法:在请求序列较短时,FCFS算法表现较好。

但随着请求序列长度增加,磁头移动次数和访问时间明显增加。

2. SSTF算法:SSTF算法在请求序列较短时表现最佳,平均访问时间和响应时间较低。

但当请求序列较长时,算法性能下降,磁头移动次数增加。

3. SCAN算法:SCAN算法在请求序列较短时性能较好,但随着请求序列长度增加,磁头移动次数和访问时间逐渐增加。

与SSTF算法相比,SCAN算法在请求序列较长时性能更稳定。

4. C-SCAN算法:C-SCAN算法在请求序列较短时表现较好,但随着请求序列长度增加,磁头移动次数和访问时间逐渐增加。

与SCAN算法相比,C-SCAN算法在请求序列较长时性能更稳定,且磁头移动次数更少。

操作系统模拟磁盘调度实验报告

操作系统模拟磁盘调度实验报告

操作系统课程设计成绩单开设时间:2015-2016学年第一学期一、需求分析本实验主要在于用随机生成的磁道序号和初始磁头位置,来模拟磁盘调度的实现过程。

(1)输入的形式和输入值的范围输入的形式是各种命令,由于在图形界面上操作,所以输入值的范围已在图形界面上约束。

(2)输出的形式调用每种磁盘调度方法后,相关结果显示在图像界面上,并以折线图的形式输出调度算法的过程。

(3)程序所能达到的功能能够模拟磁盘调度算法的过程和实现比较。

(4)测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果。

程序中主要的数据是由程序随机生成磁道序号,用户点击按钮输入选择相关方法;测试得输入方面没有出现意料之外的结果;输出的结果也是各种合理的折线图和比较信息。

二、概要设计(1)程序中主要用到的抽象数据类型程序中主要的抽象数据类型是数组,定义如下:int [] num = new int[400];主要用于存放程序随机生成的400个磁道序号,以便在需要时便于使用。

(2)主程序的流程图(3)各个模块之间的调用关系三、详细设计(1)实现概要设计中定义的所有数据类型,对每个操作只需要写出伪码算法。

int [] num = new int[400];if(user statrt to use the project){SourceNum sourceNum = new SourceNum();} // 生成随机数于类SourceNum 中使用静态数组保存(2)对主程序和其他模块也都需要写出伪码算法(伪码算法达到的详细程度应能够按照伪码算法在计算机键盘上直接输入高级程序设计语言程序)。

主程序If(user select some operate){Show the result;}其他模块Process process = new Process();If(user click one btn){int [] source = new int[400];source = process.getNumbers(); // 获取实验数据give the source to related Chart to make Chart to show;}(3)画出函数的调用关系图。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图4-3 FIFO算法模拟结果
图4-4 SSTF算法模拟结果
图4-5 SCAN算法模拟结果
图4-6 C-SCAN算法模拟结果
演示结束。
五、心得体会:
通过本次实验,我对四种磁盘调度算法策略有了更深的了解,理解了操作系统关于磁盘管理的一些方法,并通过编程实现了FIFO算法,SSTF算法,SCAN算法,C-SCAN算法。也进一步提高了我们的编程能力,从中学会了很多。
注:以上算法的实现程序见附录一源代码。
四、实验结果及分析和(或)源程序调试过程
1.主界面:
4-1.主界面
2.在“磁盘磁道数”、“被请求磁道数”、“当前磁道”输入框中输入相应内容,则随机生成并在“磁道请求序列”显示框中显示生成的请求序列:
图4-2生成序列
3.在组合框中选择相应的算法进行模拟,在“调度服务序列”显示框显示相应算法的调度序列及磁道号移动距离:
importjava.awt.event.ItemEvent;
importjava.awt.event.ItemListener;
importjava.Байду номын сангаасtil.Random;
importjavax.swing.JButton;
importjavax.swing.JComboBox;
importjavax.swing.JFrame;
六、附录(程序源代码)
DiskScheduling.java
importjava.awt.BorderLayout;
importjava.awt.GridLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
其他:
评价教师签名:
一、实验目的
设计程序实现FIFO、SSTF、SCAN和C-SCAN算法模拟磁盘调度。
二、实验项目内容
设计程序实现分析四种不同的磁盘调度算法,统计每种算法的磁道移动数。
程序功能:
1.设计程序实现FIFO、SSTF、SCAN以及C-SCAN四种不同的磁盘调度算法。
2.磁盘调度请求序列长度不少于100。
《操作系统》实验报告
年级、专业、班级
2010级信安一班
2010级信安二班
姓名
实验题目
程序模拟磁盘调度设计
实验时间
2013.5.21
实验地点
主教0416
实验成绩
实验性质
□验证性□设计性□综合性
教师评价:
□算法/实验过程正确;□源程序/实验内容提交□程序结构/实验步骤合理;
□实验结果正确;□语法、语义正确;□报告规范;
3.给出每种调度的服务序列。
4.统计每种调度的磁道移动数。
5.根据实验结果,对四种调度算法进行分析评价。
三、实验过程或算法(源程序)
程系统主界面可以灵活选择某种算法,算法包括:先来先服务算法(FCFS)、最短寻道时间优先算法(SSTF)、扫描算法(SCAN)、循环扫描算法(CSCAN)。
模块调用关系图:
4、循环扫描算法(CSCAN)
循环扫描算法是对扫描算法的改进。如果对磁道的访问请求是均匀分布的,当磁头到达磁盘的一端,并反向运动时落在磁头之后的访问请求相对较少。这是由于这些磁道刚被处理,而磁盘另一端的请求密度相当高,且这些访问请求等待的时间较长,为了解决这种情况,循环扫描算法规定磁头单向移动。例如,只自里向外移动,当磁头移到最外的被访问磁道时,磁头立即返回到最里的欲访磁道,即将最小磁道号紧接着最大磁道号构成循环,进行扫描。
JTextAreajtext4=newJTextArea() ;
JTextAreajtext5=newJTextArea() ;
JTextAreatext1=newJTextArea();
JTextAreatext2=newJTextArea();
3、扫描算法(SCAN)
扫描算法不仅考虑到欲访问的磁道与当前磁道的距离,更优先考虑的是磁头的当前移动方向。例如,当磁头正在自里向外移动时,扫描算法所选择的下一个访问对象应是其欲访问的磁道既在当前磁道之外,又是距离最近的。这样自里向外地访问,直到再无更外的磁道需要访问才将磁臂换向,自外向里移动。这时,同样也是每次选择这样的进程来调度,即其要访问的磁道,在当前磁道之内,从而避免了饥饿现象的出现。由于这种算法中磁头移动的规律颇似电梯的运行,故又称为电梯调度算法。此算法基本上克服了最短寻道时间优先算法的服务集中于中间磁道和响应时间变化比较大的缺点,而具有最短寻道时间优先算法的优点即吞吐量较大,平均响应时间较小,但由于是摆动式的扫描方法,两侧磁道被访问的频率仍低于中间磁道。
2、最短寻道时间优先算法(SSTF)
该算法选择这样的进程,其要求访问的磁道与当前磁头所在的磁道距离最近,以使每次的寻道时间最短,该算法可以得到比较好的吞吐量,但却不能保证平均寻道时间最短。其缺点是对用户的服务请求的响应机会不是均等的,因而导致响应时间的变化幅度很大。在服务请求很多的情况下,对内外边缘磁道的请求将会无限期的被延迟,有些请求的响应时间将不可预期。
importjavax.swing.JLabel;
importjavax.swing.JOptionPane;
importjavax.swing.JPanel;
importjavax.swing.JScrollPane;
importjavax.swing.JTextArea;
importjavax.swing.JTextField;
publicclassDiskSchedulingextendsJFrameimplementsActionListener{
JTextFieldjtext1=newJTextField() ;
JTextFieldjtext2=newJTextField() ;
JTextFieldjtext3=newJTextField() ;
1、先来先服务算法(FCFS)
这是一种比较简单的磁盘调度算法。它根据进程请求访问磁盘的先后次序进行调度。此算法的优点是公平、简单,且每个进程的请求都能依次得到处理,不会出现某一进程的请求长期得不到满足的情况。此算法由于未对寻道进行优化,在对磁盘的访问请求比较多的情况下,此算法将降低设备服务的吞吐量,致使平均寻道时间可能较长,但各进程得到服务的响应时间的变化幅度较小。
相关文档
最新文档