好文档 - 专业文书写作范文服务资料分享网站

模拟磁盘调度算法,操作系统课程设计

天下 分享 时间: 加入收藏 我要投稿 点赞

实用文档

某某大学

课程设计报告

课程名称:

操作系统

设计题目: 模拟磁盘调度算法

系 别: 计算机系

专 业: 计算机科学与技术 组 别: 学生姓名: 学 号: 起止日期: 指导教师:

实用文档

目录

第一章 需求分析 .............................................................. 1

1.1课程设计的简介 ....................................................... 1 1.2课程设计的目的 ....................................................... 1 1.3磁盘调度主要思想

.............................................. 1

1.4课程设计内容 ......................................................... 2 第二章 概要设计 .............................................................. 3

2.1设计思想 ............................................................. 3 2.2 数据结构 ............................................................. 3 2.3模块调用关系图 ....................................................... 3 2.4子模块程序流程图 ..................................................... 5 第三章 详细设计 .............................................................. 6

3.1模块划分 ............................................................. 6 第四章 代码测试 ............................................................. 9

4.1先来先服务 ........................................................... 9 4.1最短寻道时间优先 .................................................... 11 4.1扫描算法 ............................................................ 12 第五章 心得体会 ............................................................. 13 第六章 致谢 ................................................................. 13 参考文献.................................................................... 13

实用文档

附源代码..................................................................... 1

实用文档

第一章 需求分析

1.1课程设计的简介

这是一个用VC++6.0为工具、C++为编程语言而实现模拟先来先服务算法

(FCFS)、最短寻道时间优先算法(SSTF)、扫描算法(SCAN)的一个磁盘调度程序。该程序设计系统主界面可以灵活选择某种算法并算出磁头移动的总磁道数以及平均磁道数。

1.2课程设计的目的

本课程设计的目的是通过设计一个磁盘调度模拟系统,从而使磁盘调度算法

更加形象化,容易使人理解,使磁盘调度的特点更简单明了,能使使用者加深对先来先服务算法(FCFS)、最短寻道时间优先算法(SSTF)、扫描算法(SCAN)等磁盘调度算法的理解。

1.3磁盘调度主要思想

设备的动态分配算法与进程调度相似,也是基于一定的分配策略的。常用的

分配策略有先请求先分配、优先级高者先分配等策略。在多道程序系统中,低效率通常是由于磁盘类旋转设备使用不当造成的。操作系统中,对磁盘的访问要求来自多方面,常常需要排队。这时,对众多的访问要求按一定的次序响应,会直接影响磁盘的工作效率,进而影响系统的性能。访问磁盘的时间因子由3部分构成,它们是查找(查找磁道)时间、等待(旋转等待扇区)时间和数据传输时间,其中查找时间是决定因素。因此,磁盘调度算法先考虑优化查找策略,需要时再优化旋转等待策略。

平均寻道长度(L)为所有磁道所需移动距离之和除以总的所需访问的磁道数(N),即: L=(M1+M2+……+Mi+……+MN)/N。其中Mi为所需访问的磁道号所需移动的磁道数。

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

实用文档

寻找时间——磁头在移动臂带动下移动到指定柱面所花的时间。 延迟时间——指定扇区旋转到磁头下所需的时间。 传送时间——由磁头进程读写完成信息传送的时间。

其中传送信息所花的时间,是在硬件设计就固定的。而寻找时间和延迟时间是与信息在磁盘上的位置有关。

为了减少移动臂进行移动花费的时间,每个文件的信息不是按盘面上的磁道顺序存放满一个盘面后,再放到下一个盘面上。而是按柱面存放,同一柱面上的各磁道被放满信息后,再放到下一个柱面上。所以各磁盘的编号按柱面顺序(从0号柱面开始),每个柱面按磁道顺序,每个磁道又按扇区顺序进行排序。 1.4课程设计内容

系统主界面可以灵活选择某种算法,算法包括:先来先服务算法(FCFS)、最短寻道时间优先算法(SSTF)、扫描算法(SCAN)。并计算及比较磁头移动总磁道数和平均磁道数。

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

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

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

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

1.4.3、扫描算法(SCAN)

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

模拟磁盘调度算法,操作系统课程设计

实用文档某某大学课程设计报告课程名称:操作系统设计题目:模拟磁盘调度算法系别:计算机系专
推荐度:
点击下载文档文档为doc格式
595qi7cjdz0a0pl1szsm0n19a8hr9t00gsr
领取福利

微信扫码领取福利

微信扫码分享