欢迎来到天天文库
浏览记录
ID:14415266
大小:235.00 KB
页数:18页
时间:2018-07-28
《cscan磁盘调度算法 操作系统课程设计报告_》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、哈尔滨理工大学课 程 设 计(计算机操作系统)题 目: CSCAN磁盘调度算法班 级:姓 名: 指导教师: 系主任:2014年03月01日目录1CSCAN磁盘调度算法问题课程设计11.1题目分析11.2数据结构11.3流程图11.4实现技术21.5设计结论和心得22Linux代码分析42.1功能说明42.2接口说明42.3局部数据结构42.4流程图42.5以实例说明运行过程5第1章-16-哈尔滨理工大学课程设计报告1CSCAN磁盘调度算法问题课程设计1.1分析题目将queue[n]进行由小到大的排序,首先定位当前调
2、度磁headstarts在queue[n]的位置,然后在此位置按给定的方向遍历queue[n],当道端点(queue[0]或queue[n-1])时,反向到另一端点再以此方向进行遍历,直到queue[n]中所有都调度完。当调度磁道不在queue端点时,总的寻道长度为为前一个磁道与后一个磁道差值的累加,当到达端点且queue[n]未全调度时,总寻道长度加上端点值再加上磁盘磁道总长度,再加上下一个调度磁道的值,再按前面的算法进行,直到磁道全部都调度完毕,得到总的寻道长度,除以n得到平均寻道长度。1.2数据结构Hand:当前磁道号;DiscL
3、ine[10]:随机生成的磁道号;voidSetDI(intDiscL[])生成随机磁道号算法;voidCopyL(intSour[],intDist[],intx)数组Sour复制到数组Dist复制到x个数四详细设计;voidDelInq(intSour[],intx,inty)数组Sour把x位置的数删除,x后的数组元素向前挪一位.voidPaiXu()寻道长度由低到高排序voidCSCAN(intHan,intDiscL[])循环扫描算法(CSCAN)1.3流程图-16-哈尔滨理工大学课程设计报告-16-哈尔滨理工大学课程设
4、计报告1.4实现技术为实现上述设计,采用C++语言,VS2008开发环境。具体采用的技术如下:循环扫描算法实现步骤如下:输入总磁道数(你可以输入200),点确定,进入第二个界面,再输入磁盘调度序列个数(你可以输入5),然后点确定。依次输入5个值,再输入正在调入的磁道,选择磁盘调度算法12中的任意一个,若选择1后确认,选择磁道走向1.2若选择1,点确定,先输出排序后的磁盘序列:(132089113189),再输出调度序列为:(89201318911389)并且求出了总寻道长度为352,平均寻道长度为70.4。运行结果如下:1.5设计结论和
5、心得通过课程设计得到如下结论:-16-哈尔滨理工大学课程设计报告本次实验首先要了解磁盘调度方法的工作原理。在课程设计前的准备工作时,先把这部分工作做完了。在设计总的程序框架的时候,要注意各功能模块的位置,尽量做到简洁、有序;各功能模块与主程序要正确衔接。有如下几点心得体会:至此,计算机操作系统课程设计算法已经完成。此次设计基本完成了所规定的功能,但由于这次设计的时间比较仓促,其中不免会有些纰漏,比如在程序的实现上还不够严谨,出错处理不够完善等多方面问题,这些都有进一步改善。由于平时上课不是很认真许多概念没有理解清楚,导致在做设计时有点无
6、从下手的感觉,只好边实验边看书直到弄懂概念后才开始做设计导致时间有点紧张,最终在同学和老师的指导下我完成了设计,此设计基本能够实现规定的要求但是还是不够完善,很多东西做的不够好,程序不够完善和严谨。此次课程设计中我学到了很多东西,无论在理论上还是实践中,都得到不少的提高,这对于我以后的工作和学习都有一种巨大的帮助。#include#include#includeusingnamespacestd;voidmenu(){cout<<"*********************菜单*
7、********************"<8、;for(i=0;i
8、;for(i=0;i
此文档下载收益归作者所有