




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
磁盘调度算法实验报告文档 1.依次输入9个磁道数:40 90 170 38 110 20 144 48 592.选择调度算法:先来先服务算法访问顺序和平均寻道长度:最短寻道时间优先的访问顺序和平均寻道长度:扫描算法的磁道访问顺序和平均寻道长度:1移动壁由里向外2移动壁由外向里循环算法的磁道访问顺序和平均寻道长度:1.移动壁由里向外2.移动壁由外向里源代码为:#include#includevoid fcfs(int b,int n,int init) /先来先服务int i,s,sum;int a20;for(i=0;in;i+) ai=bi;s=init;sum=0;for(i=0;in;i+) printf(第%d次访问的磁道:%dn,i+1,ai); sum+=abs(s-ai);s=ai;printf(平均寻道长度:%fn,sum*1.0/n);void sstf(int b,int n,int k) /最短寻道法int i,j,s,sum=0,p;int a20;for(i=0;i=0;i-)s=a0;p=0;for(j=0;j=i;j+) if(abs(aj-k)abs(s-k) s=aj; p=j; ap=ai;printf(第%d次访问的磁道:%dn,n-i,s);sum+=abs(s-k);k=s;printf(平均寻道长度:%fn,sum*1.0/n);void scan1(int b,int n,int k) /扫描算法int i,j,s,sum=0,p,biaoji;int a20;for(i=0;i=0;i-)biaoji=0;for(j=0;j=i;j+) if(aj-k0) biaoji=1; p=j; break; if(biaoji=1) s=ap; for(j=0;j=i;j+) if(ajk&k-ajk-s) s=aj; p=j; ap=ai; printf(第%d次访问的磁道:%dn,n-i,s); sum+=k-s; k=s;elses=a0;for(j=0;j=i;j+) if(aj-k=s-k) s=aj; p=j; ap=ai;printf(第%d次访问的磁道:%dn,n-i,s); sum+=abs(k-s); k=s;printf(平均寻道长度:%fn,sum*1.0/n);void scan2(int b,int n,int k) /循环算法int i,j,s,sum=0,p,biaoji;int a20;for(i=0;i=0;i-)biaoji=0;for(j=0;j0) biaoji=1; p=j; break; if(biaoji=1) s=ap; for(j=0;jk&aj-ks-k) s=aj; p=j; ap=ai; printf(第%d次访问的磁道:%dn,n-i,s); sum+=s-k; k=s;elses=a0;for(j=0;j=i;j+) if(k-aj=k-s) s=aj; p=j; ap=ai;printf(第%d次访问的磁道:%dn,n-i,s); sum+=abs(k-s); k=s;printf(平均寻道长度:%fn,sum*1.0/n);void c_scan(int array,int m)int temp;int k=1;int now,l,r,d;int i,j,sum=0;int avg;for(i=0;im;i+)for(j=i+1;jarrayj)/对磁道号进行从小到大排列temp=arrayi;arrayi=arrayj;arrayj=temp;printf(请输入当前的磁道号:);scanf(%d,&now);if(arraym-1=now)/判断整个数组里的数是否都小于当前磁道号 printf(cscan调度结果: );for(i=0;i=now)/判断整个数组里的数是否都大于当前磁道号 printf(cscan调度结果: );for(i=0;im;i+) printf(%d ,arrayi);/将磁道号从小到大输出sum=arraym-1-now;/计算移动距离elsewhile(arrayk=0;j-)printf(%d ,arrayj);for(j=m-1;j=r;j-)printf(%d ,arrayj);sum=2*(arraym-1-array0)-arrayr+now;/计算移动距离/磁道号减小方向elsefor(j=r;jm;j+)printf(%d ,arrayj);for(j=0;jr;j+)printf(%d ,arrayj);sum=2*(arraym-1-array0)+arrayr-1-now;/计算移动距离/磁道号增加方向avg=sum/m;printf(n平均寻道长度: %d n,avg);void main()int a20;int i,n,k,k1,init;printf(请输入需要访问的磁道总数:);scanf(%d,&n);for(i=0;in;i+)printf(需要访问的磁道%d:,i+1);scanf(%d,&ai);printf(请输入指针所在磁道:);scanf(%d,&init);k=1;while(k)printf(*n);printf( 磁盘调度算法 n);printf(1.先来先服务(fcfs) 2.最短寻道时间优先(sstf)n);printf(3.扫描算法 (scan) 4.循环算法(c-scan) n); printf(*n);printf(请在下面输入您的选择:);scanf(%d,&k);switch(k)case 1:fcfs(a,n,init);break;case 2:sstf(a,n,init);break;case 3:k1=1; while(k1) printf(*扫描算法*n); printf(1.移动臂由里向外 2.移动臂由外向里n); printf(0.返回上一层 n);printf(*n); printf(请在下面输
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 产品买卖合同文本修订与范例解析
- 企业安全生产月启动讲话稿
- 软件开发阶段性调试报告模板
- 山体护坡工程施工详细方案
- 2025年内江市高级技工学校第二批公开考核招聘教师(6人)笔试备考试题及答案解析
- 医院财务预算及成本控制方法
- 新员工绩效考核标准与操作手册
- 工业企业安全生产责任制度样本
- 2026年国家能源投资集团有限责任公司高校毕业生统招6400余人(河北有岗)笔试模拟试题及答案解析
- 牙科诊所消毒管理规范
- SF-三福的历史与文化 v2.0
- 幼儿园故事《小红帽》PPT模板
- GB/T 6723-2017通用冷弯开口型钢
- GB/T 4456-2008包装用聚乙烯吹塑薄膜
- 葫芦丝(初学教学)-课件
- 2023年中国教育出版传媒集团有限公司招聘笔试题库及答案解析
- 李家小学教师绩效考核实施方案
- 小粒咖啡栽培技术措施课件
- 曲顶柱体的体积市公开课金奖市赛课一等奖课件
- 全国人防信息系统综合集成建设技术指南
- 材料吊装方案
评论
0/150
提交评论