操作系统磁盘调度算法实验报告及代码

上传人:众众****夺宝 文档编号:231644415 上传时间:2023-09-06 格式:DOCX 页数:3 大小:13.78KB
收藏 版权申诉 举报 下载
操作系统磁盘调度算法实验报告及代码_第1页
第1页 / 共3页
操作系统磁盘调度算法实验报告及代码_第2页
第2页 / 共3页
操作系统磁盘调度算法实验报告及代码_第3页
第3页 / 共3页
资源描述:

《操作系统磁盘调度算法实验报告及代码》由会员分享,可在线阅读,更多相关《操作系统磁盘调度算法实验报告及代码(3页珍藏版)》请在装配图网上搜索。

1、操作系统磁盘调度算法实验报告及代码 ; 华南农业大学信息软件学院?操作系统分析与设计实习成绩单开设时间:2023学年第一学期小组成员、组内分工及各成员成绩 学号姓名分工成绩实验题目题目二 磁盘调度算法的模拟实现及比照通过这次的操作系统课程设计,我懂得了许多,首先是让我对操作系统磁盘调度策略有了更加深刻的认识,自己动手操作比光看书能更加了解磁盘调度的策略和原理,同时对磁盘调度的四种算法先来先效劳算法FCFS、最短寻道时间优先算法SSTF、有了更深刻的理解和掌握,使我能够为磁盘调度选择适当的算法,提高CPU工作效率。设计过程中遇到的困难在老师和同学的帮忙下顺利解决并通过了验收,我深刻认自我评价识到

2、算法的逻辑性对程序的重要影响,算法的准确度对程序运行结果的重要影响,这对我以后在操作系统的学习中有极大帮忙。也增强了我写代码的能力,尤其是设计算法有了进步,知道了时间复杂度的重要性。由于这次的课程设计是单人做的,所以也增强了独立做程序的能力。不过,通过这次课程设计,我也了解到自己有很多缺乏,比方在设计界面方面明显经验缺乏,许多地方都需要上网查询,以至于界面的简陋,代码也不够工整明了。总的来说,这次课程设计不仅提升了自己的知识和能力,还让自己知道了自己的许多缺乏之处。教师评语评价指标: 题目内容和要求完成情况优良中差 对算法原理的理解程度优良中差 程序设计水平优良中差 程序运行效果及正确性优良中

3、差 课程设计报告结构清晰优良中差 报告中总结和分析详尽优良中差教师签名一、需求分析:(1)输入的形式和输入值的范围:在文本框输入序列长度,输入值为int类型 (2)输出的形式:输出每种磁盘调度算法的效劳序列 (3)程序所能到达的功能:模拟实现FCFS、SSTF、电梯LOOK、C-SCAN 算法,并计算及比拟磁头移动道数。 测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果。 输入磁道范围 输入所选磁道个数 选择算法 01000 01000 14二、概要设计: 主程序流程图: 三、详细设计:先来先效劳算法FCFS:按先来后到次序效劳,未作优化。 最简单的移臂调度算法是“先来先效劳调

4、度算法,这个算法实际上不考虑访问者要求访问的物理位置,而只是考虑访问者提出访问请求的先后次序。 采用先来先效劳算法决定等待访问者执行输入输出操作的次序时,移动臂来回地移动。先来先效劳算法花费的寻找时间较长,所以执行输入输出操作的总时间也很长。 最短寻道时间优先算法SSTF :最短寻找时间优先调度算法总是从等待访问者中挑选寻找时间最短的那个请求先执行的,而不论访问者到来的先后次序。与先来先效劳、算法比拟,大幅度地减少了寻找时间,因而缩短了为各访问者请求效劳的平均时间,也就提高了系统效率。 但最短查找时间优先SSTF调度,FCFS会引起读写头在盘面上的大范围移动,SSTF查找距离磁头最短也就是查找

5、时间最短的请求作为下一次效劳的对象。SSTF查找模式有高度部分化的倾向,会推迟一些请求的效劳,甚至引起无限拖延又称饥饿。扫描算法SCAN:SCAN 算法又称电梯调度算法。SCAN算法是磁头前进方向上的最短查找时间优先算法,它排除了磁头在盘面部分位置上的往复移动,SCAN算法在很大程度上打消了SSTF算法的不公平性,但仍有利于对中间磁道的请求。“电梯调度算法是从移动臂当前位置开始沿着臂的移动方向去选择离当前移动臂最近的那个柱访问者,如果沿臂的移动方向无请求访问时,就改变臂的移动方向再选择。但是,“电梯调度算法在实现时,不仅要记住读写磁头的当前位置,还必须记住移动臂的当前前进方向。 循环扫描C-S

6、CAN:循环扫描 CSCAN是为了减少 SCAN 算法造成的某些进程的请求被严重推迟,CSCAN 算法规定磁头单向移动。函数调用关系图: 四、调试分析:(1) 调试过程中遇到的问题是如何解决的以及对设计与实现的讨论和分析;通过对每一行的输出判断问题出现在哪里,然后把出问题的地方缩小到一定范围,然后解决问题,如假设解决不出那么上网查询,再不行就咨询同学。设计主要分为界面设计和算法设计,界面设计局部并没有进行过多的改良,算法局部SSTF算法实现的比拟复杂,时间复杂度较高。(2) 算法的时间复杂性(包括根本操作和其他算法的时间复杂性的分析)和改良构想;FIFO算法经历一重循环,时间复杂度为On,算法

7、比拟简单; SSTF算法经历二重循环,时间复杂度为On2,算法较为复杂SCAN和CSCAN算法含多个一重循环,时间复杂度为On,动态数组存储效劳序列; (3) 设计过程的经验和体会;设计过程必须要考虑时间复杂度,过高的时间复杂度会导致程序执行效率低下。必须要进行结构化设计,各个模块要很清晰的体现,能在代码中找到相关模块的代码,这样才便于程序的维护和调试。 (4) 实现过程中出现的主要问题及解决办法。主要问题是SSTF算法的设计。解决办法是上网查询SSTF算法的代码,学习其中的算法思想,然后运用到自己的代码中去。五、运行结果: 输入磁道范围、输入所选磁道个数、选择算法: 测试与运行结果:输出请求

8、序列、平均寻道时间: 六、总结:通过这次的操作系统课程设计,我懂得了许多,首先是让我对操作系统磁盘调度策略有了更加深刻的认识,自己动手操作比光看书能更加了解磁盘调度的策略和原理,同时对磁盘调度的四种算法先来先效劳算法FCFS、最短寻道时间优先算法SSTF、有了更深刻的理解和掌握,使我能够为磁盘调度选择适当的算法,提高CPU工作效率。设计过程中遇到的困难在老师和同学的帮忙下顺利解决并通过了验收,我深刻认识到算法的逻辑性对程序的重要影响,算法的准确度对程序运行结果的重要影响,这对我以后在操作系统的学习中有极大帮忙。也增强了我写代码的能力,尤其是设计算法有了进步,知道了时间复杂度的重要性。由于这次的

9、课程设计是单人做的,所以也增强了独立做程序的能力。不过,通过这次课程设计,我也了解到自己有很多缺乏,比方在设计界面方面明显经验缺乏,许多地方都需要上网查询,以至于界面的简陋,代码也不够工整明了。总的来说,这次课程设计不仅提升了自己的知识和能力,还让自己知道了自己的许多缺乏之处。七、源代码:#include #include#include #include using namespace std; #define maxsize 1000/判断输入的数据是否有效 int decide(char str) /将字符串转换为数字int trans(char str, int a) /冒泡排序算法int *bubble(int cidao, int m) int i, j; int temp;for (i = 0; i if (cidaoi cidaoj) temp = cidaoi; cidaoi = cidaoj; cidaoj = temp;int i; int sum = 0;for (i = 0; i return sum;sum = sum + (int)(stri - 0)*pow(10, a - i - 1); int i = 0;while (stri != 0) return i;if (stri 9) i+;return 0; break;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!