操作系统课程设计磁盘调度先来先服务算法(共12页).docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《操作系统课程设计磁盘调度先来先服务算法(共12页).docx》由会员分享,可在线阅读,更多相关《操作系统课程设计磁盘调度先来先服务算法(共12页).docx(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 操作系统原理课 程 设 计 报 告 书题 目: 磁盘调度先来先服务算法学 号: 学生姓名: 专 业: 计算机科学与技术 指导教师: 2014 年 5 月 29目 录1 功能描述 根据进程请求访问磁盘的先后次序进行调度,从而计算出磁头移动的总距离和平均寻道长度。 功能实现思想 这是一种比较简单的磁盘调度算法。它根据进程请求访问磁盘的先后次序进行调度。此算法的优点是公平、简单,且每个进程的请求都能依次得到处理,不会出现某一进程的请求长期得不到满足的情况。此算法由于未对寻道进行优化,在对磁盘的访问请求比较多的情况下,此算法将降低设备服务的吞吐量,致使平均寻道时间可能较长,
2、但各进程得到服务的响应时间的变化幅度较小。 功能详述 根据进程请求访问磁盘的先后次序进行调度,首先根据提示输入总的磁道数、提出磁盘I/O申请的进程数、开始磁道号和磁道序列。通过程序调用函数输出磁盘请求序列和磁盘扫描序列,从而计算出磁头移动的总距离和平均寻道长度。2 系统设计 系统总体设计 数据结构描述void?FCFS(int?cidao,int?m)输入磁道号,按先来先服务的策略输出磁盘请求序列和磁盘扫描序列,求移动的总距离和平均寻道长度,输出移动的总磁道数和平均寻道长度。 函数功能分析 由于一开始要对键盘输入的磁道数和要使用的算法进行一次有效性的判断,我使用了int?decide(char
3、?str),如果输入的信息不是09之间的数都将被判定为不合法,合法后才能进行下一步。判断完合法性后,要将输入的字符转化为数字,这里我用了int trans(char str,int a) 。先来先服务调度算法我使用了void?FCFS(int?cidao,int?m),该算法主要完成按原来键盘输入的次序来寻道,然后输出移动的总磁道数和平均寻道长度。 程序函数调用关系下图为磁盘调度算法之先来先服务的函数之间的调用关系,主函数调用子函数,子函数也可以调用子函数。 main() trans() decide() FCFS() 图1 程序函数调用关系 系统详细设计 设计任务 本系统采用先来先服务算法F
4、CFS,来实现磁盘调度的模拟。 设计要求 根据磁盘调度算法的思想,编程实现求先来先服务算法的平均寻道长度。 算法思想先来先服务的算法,即先来的请求先被响应。FCFS算法看起来是比较合理的算法,但是当请求频率过高的时候FCFS算法的响应时间就会大大的延长,这也是最基本的算法,直接实现的是由输入的顺序来顺序的执行。? FCFS 算法流程图 开始 输入总的磁道数 输入提出磁盘I/O申请的进程数 输入磁道序列(以0结束) 输入开始的磁道号输出磁盘请求序列和扫描序列 求移动的总的磁道数 求平均寻道长度 结束 图2 FCFS算法流程图3 系统实现1)开发环境:Window72)开发工具和编程语言 开发工具
5、:Visual C+ 编程语言:C+4 系统测试与分析 系统运行结果 图3 运行结果 系统运行结果分析 根据系统提示进行输入数据,如输入的总磁道数为9,磁盘I/O申请的进程数为9,输入的磁道系列为55 58 39 18 90 160 150 38 184 ,输入开始磁道号:100(当输入的数据类型有误是,会提醒重新输入),可以得到磁盘请求的序列和扫描的序列都为55 58 39 18 90 160 150 38 184,也得到了移动的总磁道数为498和平均寻道长度为 。实验结果符合预想的结果。 ?5 总结通过本次课程设计,我对磁盘的调度算法之先来先服务有了更深的了解,但在本次课程设计过程也遇到了
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 课程设计 磁盘 调度 先来先 服务 算法 12
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内