欢迎来到天天文库
浏览记录
ID:11572285
大小:438.11 KB
页数:24页
时间:2018-07-12
《操作系统-课程设计报告x - 操作系统课程设计---磁盘调度算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、课程设计磁盘调度算法设计题目张栋姓名20042623学号信息安全04-01专业班级刘晓平,李琳,路强指导教师2007年6月27日24操作系统课程设计---磁盘调度算法24目录一、摘要……………………………………………………………………………3二、算法基本思想描述……………………………………………………………32.1磁盘调度主要思想…………………………………………………………32.2算法描述………………………………………………………………………3三、开发环境…………………………………………………………………………5四、重要算法和设计思路描述……………………………
2、……………………………5五、程序实现---数据结构……………………………………………………………8六、程序实现---程序清单…………………………………………………………106.1源代码………………………………………………………………………106.2运行结果……………………………………………………………………21七、参考文献……………………………………………………………………21八、总结…………………………………………………………………………2224操作系统课程设计---磁盘调度算法24一、摘要磁盘调度算法l建立相应的数据结构;l在屏幕上显示磁盘请求的服务状况;
3、l时间的流逝可用下面几种方法模拟:(a)按键盘,每按一次可认为过一个时间单位;(b)响应WM_TIMER;(本课程设计采用此方式)l将一批磁盘请求的情况存磁盘文件,以后可以读出并重放;l计算磁头移动的总距离及平均移动距离;l支持算法:FCFS、SSTF、SCAN、CSCAN、FSCAN。关键字:磁盘调度,FCFS、SSTF、SCAN、CSCAN、FSCAN,MFC编程,KeyWords:DiskSchedule;FCFS、SSTF、SCAN、CSCAN、FSCAN,MFCProgramming二、算法基本思想描述2.1磁盘调度主要思想设备的动态分配算法与进程调
4、度相似,也是基于一定的分配策略的。常用的分配策略有先请求先分配、优先级高者先分配等策略。在多道程序系统中,低效率通常是由于磁盘类旋转设备使用不当造成的。操作系统中,对磁盘的访问要求来自多方面,常常需要排队。这时,对众多的访问要求按一定的次序响应,会直接影响磁盘的工作效率,进而影响系统的性能。访问磁盘的时间因子由3部分构成,它们是查找(查找磁道)时间、等待(旋转等待扇区)时间和数据传输时间,其中查找时间是决定因素。因此,磁盘调度算法先考虑优化查找策略,需要时再优化旋转等待策略。平均寻道长度(L)为所有磁道所需移动距离之和除以总的所需访问的磁道数(N),即:L=(
5、M1+M2+……+Mi+……+MN)/N其中Mi为所需访问的磁道号所需移动的磁道数。启动磁盘执行输入输出操作时,要把移动臂移动到指定的柱面,再等待指定扇区的旋转到磁头位置下,然后让指定的磁头进行读写,完成信息传送。因此,执行一次输入输出所花的时间有:寻找时间——磁头在移动臂带动下移动到指定柱面所花的时间。延迟时间——指定扇区旋转到磁头下所需的时间。传送时间——由磁头进程读写完成信息传送的时间。其中传送信息所花的时间,是在硬件设计就固定的。而寻找时间和延迟时间是与信息在磁盘上的位置有关。为了减少移动臂进行移动花费的时间,每个文件的信息不是按盘面上的磁道顺序存放满
6、一个盘面后,再放到下一个盘面上。而是按柱面存放,同一柱面上的各磁道被放满信息后,再放到下一个柱面上。所以各磁盘的编号按柱面顺序(从0号柱面开始),每个柱面按磁道顺序,每个磁道又按扇区顺序进行排序。2.2算法描述1.先来先服务算法(FCFS)先来先服务(FCFS)调度:按先来后到次序服务,未作优化。最简单的移臂调度算法是“先来先服务”调度算法,这个算法实际上不考虑访问者要求访问的物理位置,而只是考虑访问者提出访问请求的先后次序。例如,如果现在读写磁头正在50号柱面上执行输出操作,而等待访问者依次要访问的柱面为130、199、32、159、15、24操作系统课程设
7、计---磁盘调度算法24148、61、99,那么,当50号柱面上的操作结束后,移动臂将按请求的先后次序先移到130号柱面,最后到达99号柱面。采用先来先服务算法决定等待访问者执行输入输出操作的次序时,移动臂来回地移动。先来先服务算法花费的寻找时间较长,所以执行输入输出操作的总时间也很长。2.短寻道时间优先算法(SSTF)最短寻找时间优先调度算法总是从等待访问者中挑选寻找时间最短的那个请求先执行的,而不管访问者到来的先后次序。现在仍利用同一个例子来讨论,现在当50号柱面的操作结束后,应该先处理61号柱面的请求,然后到达32号柱面执行操作,随后处理15号柱面请求,
8、后继操作的次序应该是99、130、14
此文档下载收益归作者所有