- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE
PAGE 3
《操作系统原理》
课 程 设 计 报 告 书
题 目: 磁盘调度先来先服务算法
学 号:
学生姓名:
专 业: 计算机科学与技术
指导教师:
2014 年 5 月 29
目 录
TOC \o 1-3 \h \z \u 8459 1 功能描述 1
21374 1.1 功能实现思想 1
20812 1.2 功能详述 1
16417 2 系统设计 1
986 2.1 系统总体设计 1
27959 2.1.1 数据结构描述 1
9204 2.1.2 函数功能分析 1
13809 2.1.2 程序函数调用关系 2
29006 2.2 系统详细设计 2
28525 2.2.1 设计任务 2
6109 2.2.2 设计要求 2
23507 2.2.3 算法思想 2
9996 2.2.4 FCFS 算法流程图 3
14602 3 系统实现 3
1951 4 系统测试与分析 4
18466 4.1 系统运行结果 4
19263 4.2 系统运行结果分析 4
22440 5 总结 5
1564 参考文献 5
230 附:源程序代码 6
14985 教师评分表 9
1 功能描述
根据进程请求访问磁盘的先后次序进行调度,从而计算出磁头移动的总距离和平均寻道长度。
1.1 功能实现思想
这是一种比较简单的磁盘调度算法。它根据进程请求访问磁盘的先后次序进行调度。此算法的优点是公平、简单,且每个进程的请求都能依次得到处理,不会出现某一进程的请求长期得不到满足的情况。此算法由于未对寻道进行优化,在对磁盘的访问请求比较多的情况下,此算法将降低设备服务的吞吐量,致使平均寻道时间可能较长,但各进程得到服务的响应时间的变化幅度较小。
1.2 功能详述
根据进程请求访问磁盘的先后次序进行调度,首先根据提示输入总的磁道数、提出磁盘I/O申请的进程数、开始磁道号和磁道序列。通过程序调用函数输出磁盘请求序列和磁盘扫描序列,从而计算出磁头移动的总距离和平均寻道长度。
2 系统设计
2.1 系统总体设计
2.1.1 数据结构描述
void?FCFS(int?cidao[],int?m)输入磁道号,按先来先服务的策略输出磁盘请求序列和磁盘扫描序列,求移动的总距离和平均寻道长度,输出移动的总磁道数和平均寻道长度。
2.1.2 函数功能分析
由于一开始要对键盘输入的磁道数和要使用的算法进行一次有效性的判断,我使用了int?decide(char?str[]),如果输入的信息不是0~9之间的数都将被判定为不合法,合法后才能进行下一步。判断完合法性后,要将输入的字符转化为数字,这里我用了int trans(char str[],int a) 。先来先服务调度算法我使用了void?FCFS(int?cidao[],int?m),该算法主要完成按原来键盘输入的次序来寻道,然后输出移动的总磁道数和平均寻道长度。
2.1.2 程序函数调用关系
下图为磁盘调度算法之先来先服务的函数之间的调用关系,主函数调用子函数,子函数也可以调用子函数。
main()
main()
trans() decide() FCFS()
trans()
decide()
FCFS()
图1 程序函数调用关系
2.2 系统详细设计
2.2.1 设计任务
本系统采用先来先服务算法FCFS,来实现磁盘调度的模拟。
2.2.2 设计要求
根据磁盘调度算法的思想,编程实现求先来先服务算法的平均寻道长度。
2.2.3 算法思想
先来先服务的算法,即先来的请求先被响应。FCFS算法看起来是比较合理的算法,但是当请求频率过高的时候FCFS算法的响应时间就会大大的延长,这也是最基本的算法,直接实现的是由输入的顺序来顺序的执行。?
2.2.4 FCFS 算法流程图
开始 输入总的磁道数
开始
输入总的磁道数
输入提出磁盘I/O申请的进程数
输入提出磁盘I/O申请的进程数
输入磁道序列(以0结束
输入磁道序列(以0结束)
文档评论(0)