大学毕业论文-—磁盘调度算法及代码的实现课程报告 下载本文

内容发布更新时间 : 2024/10/28 7:33:08星期一 下面是文章的全部内容请认真阅读。

课程设计报告

《计算机操作系统》

课程设计题目: 磁盘调度算法

目 录

1.需求分析 …………………………………………………………………………01 2. 总体设计及分类简介 …………………………………………………………01 1)先来先服务(FCFS)算法……………………………………………………01 2)最短寻道时间优先(SSTF)算法……………………………………………01 3)扫描调度(SCAN)算法………………………………………………………01 4)循环扫描(C-SCAN)算法……………………………………………………01 3.课程设计目的 ……………………………………………………………………01 4.课程设计要求……………………………………………………………………02 5.详细设计及算法流程图…………………………………………………………02 1)总流程图………………………………………………………………………02 2)先来先服务(FCFS)算法流程图……………………………………………03 3)最短寻道时间优先(SSTF)算法流程图……………………………………04 4)扫描调度(SCAN)算法流程图………………………………………………05 5)循环扫描(C-SCAN)算法流程图……………………………………………06 6.课程设计具体步骤………………………………………………………………07 1)定义函数部分主要代码………………………………………………………07 2)先来先服务(FCFS)算法部分主要代码……………………………………07 3)最短寻道时间优先(SSTF)算法部分主要代码……………………………07 4)扫描调度(SCAN)算法部分主要代码………………………………………09 5)循环扫描(C-SCAN)算法部分主要代码……………………………………09 7.课程设计结果显示 ………………………………………………………………10 1)先来先服务(FCFS)算法测试结果…………………………………………10 2)最短寻道时间优先(SSTF)算法测试结果…………………………………11 3)扫描调度(SCAN)算法测试结果……………………………………………12 4)循环扫描(C-SCAN)算法测试结果…………………………………………13 8.课程设计总结 ……………………………………………………………………14 9.心得体会 …………………………………………………………………………15 10.参考资料 ………………………………………………………………………15

1

磁盘调度算法

一.需求分析

编译程序运用磁盘的四种调度算法实现对磁盘的调度,四种算法分别为先来先服务(FCFS)算法,最短寻道时间优先(SSTF)算法,扫描调度(SCAN)算法,循环扫描(C-SCAN)算法。 二.总体设计及分类简介

磁盘调度中常用的有四种算法,功能分别如下:

1.先来先服务(FCFS)算法。即先来的请求先被响应。FCFS策略看起来似乎是相当\公平\的,但是当请求的频率过高的时候FCFS策略的响应时间就会大大延长。FCFS策略为我们建立起一个随机访问机制的模型,但是假如用这个策略反复响应从里到外的请求,那么将会消耗大量的时间。为了尽量降低寻道时间,看来我们需要对等待着的请求进行适当的排序,而不是简单的使用FCFS策略。这个过程就叫做磁盘调度管理。有时候FCFS也被看作是最简单的磁盘调度算法。 2. 最短寻道时间优先(SSTF)算法。要求访问的磁道,与当前磁头所在的磁道距离最近,以使每次的寻道时间最短。

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

4.循环扫描(C-SCAN)算法。当磁头刚从里向外移动而越过了某一磁道时,恰好又有一进程请求访问此磁道,这时,该里程就必须等待,为了减少这种延迟,CSCAN算法规定磁头单向移动,而本实验过程中我们所设计的是磁头从里向外移动,而从外向里移动时只须改方向而已,本实验未实现。但本实验已完全能演示循环扫描的全过程。 三.课程设计目的

1.熟悉并掌握磁盘管理系统的设计方法,加深对所学各种磁盘调度算法及其算

2