全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章 与设备管理有关的操作系统算法实践作业参照“强化实践能力培养课程内容”中“磁盘移臂调度算法实践能力培养考核选例”程序编写一个能演示“最短寻找时间优先算法Sstf”的程序。该程序能分析出“最短寻找时间优先算法”在响应任意给定的一组磁盘请求序列时磁头移动的过程,即能统计和报告出“最短寻找时间优先算法”下磁头响应请求的顺序、移臂的总量和掉头的次数。答:实验代码及说明#include stdio.h#include stdlib.hvoid CopyL(int Sour,int Dist ,int x); /数组Sour复制到数组Dist,复制到x个数void SetDI(int DiscL); /随机生成磁道数 void Print(int Pri,int x); /打印输出数组Privoid DelInq(int Sour,int x,int y); /数组Sour把x位置的数删除,并把y前面的数向前移动,y后的数保持不变(即会出现2个y) void SSTF(int Han,int DiscL); /最短寻道时间优先算法(SSTF)void PaiXu(); /寻道长度由低到高排序void Pri();int NAll=0;int Best52; /用作寻道长度由低到高排序时存放的数组 int Limit=0; /输入寻找的范围磁道数iint Jage;float Aver=0;int main() int i; int DiscLine10; /声明准备要生成的随机磁道号的数组 int Hand; /磁道数 int Con=1; int n; while(Con=1) Jage=0; printf(n 请输入初始的磁道数(0n65536) printf(超出范围!); elseprintf( *n);printf( * 磁盘调度算法 *n); printf( *n); printf( * 2.最短寻道时间优先算法(SSTF) *n); printf( *n); scanf(%d,&n); if(n=0) exit(0); printf(n); switch(n) case 2: SetDI(DiscLine); /随机生成磁道数 SSTF(Hand,DiscLine); /最短寻道时间优先算法(SSTF) break; printf(nn+ 是否继续(按0结束,按1继续)?); scanf(%5d,&Con); /数组Sour复制到数组Dist,复制到x个数void CopyL(int Sour,int Dist ,int x) int i; for(i=0;i=x;i+) Disti=Souri; /打印输出数组Privoid Print(int Pri,int x) int i; for(i=0;i=x;i+) printf(%5d,Prii); /随机生成磁道数void SetDI(int DiscL) int i; for(i=0;i=9;i+) DiscLi=rand()%Limit;/随机生成10个磁道号 printf(+ 需要寻找的磁道号:); Print(DiscL,9); /输出随机生成的磁道号 printf(n);/数组Sour把x位置的数删除,并把y前面的数向前移动,y后的数保持不变(即会出现2个y) void DelInq(int Sour,int x,int y) int i; for(i=x;iy;i+) Souri=Souri+1; x+; /最短寻道时间优先算法(SSTF)void SSTF(int Han,int DiscL) int i,j,k,h,All; int Temp; /Temp是计算移动的磁道距离的临时变量 int RLine10; /将随机生成的磁道数数组Discl复制给数组RLine int Min; All=0; /统计全部的磁道数变量 k=9; /限定10个的磁道数 CopyL(DiscL,RLine,9); /复制磁道号到临时数组RLine printf(n+ 按照SSTF算法磁道的访问顺序为:); for(i=0;i=9;i+) Min=64000; for(j=0;jHan) /如果第一个随机生成的磁道号大于当前的磁道号,执行下一句 Temp=RLinej-Han; /求出临时的移动距离 else Temp=Han-RLinej; /求出临时的移动距离 if(TempMin) /如果每求出一次的移动距离小于Min,执行下一句 Min=Temp; /Temp临时值赋予Min h=j; /把最近当前磁道号的数组下标赋予h All=All+Min; /统计一共移动的距离 printf(%5d,RLineh); Han=RLineh; DelInq(RLine,h,k); /每个磁道数向前移动一位 k-; BestJage1=All;/Best1存放移动磁道数 BestJage0=2;/Best0存放算法的序号为:2 Jage+;/排序序号加1 Aver=(float)All)/10;/求平均寻道次数 printf(n+ 移动磁道数: ,All); printf(n+ 平均寻道长度:*%0.2f* ,Aver);void PaiXu() int i,j,Temp; for(i=0;i5;i+) for(j=0;jBestj+11) /如果前一个算法的移动磁道距离大于后一个移动磁道数,执行下面语句 Temp=Bestj+11; /从这起下三行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026京东方鄂尔多斯市源盛光电有限责任公司校园招聘20人笔试考试参考试题及答案解析
- 2025年度通榆县人力资源和社会保障局第五批面向社会公开招聘公益性岗位人员(25人)考试笔试备考题库及答案解析
- 2025年新能源行业企业数字化转型中的员工满意度提升报告
- 2025江苏徐州矿务集团有限公司年社会招聘38人(三)笔试考试备考试题及答案解析
- 《JBT10113-2002 电阻焊设备两端与水冷连接块相连的次级连接电缆尺寸和特性》(2026年)实施指南
- 《JBT9904.1-1999 花键轴磨床系列型谱》(2026年)实施指南
- 2025年永宁县社区工作者公开招聘缺额递补8人笔试考试备考试题及答案解析
- 2025中原证券股份有限公司招聘55人笔试考试参考试题及答案解析
- 2025年芜湖市劳动保障人力资源有限公司人才储备3名笔试考试备考试题及答案解析
- 《JBT9162.4-199955° 凹形表座尺寸》(2026年)实施指南
- 2026届黑龙江省优才计划 中学生标准学术能力测试高三数学联考试题(含解析)
- GJB3206B-2022技术状态管理
- 2023年本班主任基本功大赛笔试题
- 同济大学数学系《工程数学-线性代数》(第6版)配套题库【考研真题精选+章节题库】
- 消防常用器材维修材料单价表
- 《“安德的游戏”三部曲》读书笔记模板
- 《新唐书吕文仲传》阅读练习及答案附译文7篇新唐书吕向传文言文翻译
- EBZ掘进机电气原理图三一重工
- 2021年第二届全国大学生【组织管理能力竞技活动】题库答案50道
- HY/T 0289-2020海水淡化浓盐水排放要求
- GB/T 6109.11-1990漆包圆绕组线第11部分:200级聚酯亚胺/聚酰胺酰亚胺复合漆包铜圆线
评论
0/150
提交评论