已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
信息科学与电气工程学院上机实验报告学号: 姓名: 班级: 课程:操作系统 指导教师: 时间: 2017年11月29日 SCAN 磁盘调度模拟实现一实验目的1) 理解磁盘调度相关理论;2) 掌握多种磁盘调度算法;3) 彻底掌握 SCAN 磁盘调度算法。二、实验内容本实验主要针对操作系统中磁盘调度相关理论进行实验。要求实验者设计一个程序,该程序模拟操作系统的磁盘调度,调度采用SCAN 算法。1) 设计磁盘调度请求队列(请求数10);2) 设定单位寻道时间;3) 可动态修改发出磁盘请求的时间和磁道号;4) 实现 SCAN 磁盘调度算法;5) 实现动态调度并输出调度序列。#include stdafx.h#include #include #include #include #define maxsize 1000 /*判断输入数据是否有效*/ int decide(char str) /判断输入数据是否有效 int i=0; while(stri!=0) if(stri9) return 0; break; i+; return i; /*将字符串转换成数字*/ int trans(char str,int a) /将字符串转换成数字 int i; int sum=0; for(i=0;ia;i+) sum=sum+(int)(stri-0)*pow(10,a-i-1); return sum; /*冒泡排序算法*/ int *bubble(int cidao,int m) int i,j; int temp;for(i=0;im;i+) /使用冒泡法按从小到大顺序排列 for(j=i+1;jcidaoj) temp=cidaoi; cidaoi=cidaoj; cidaoj=temp; cout排序后的磁盘序列为; for( i=0;im;i+) /输出排序结果 coutcidaoi ; coutendl; return cidao; /*扫描调度算法*/ void SCAN(int cidao,int m) /先要给出当前磁道号和移动臂的移动方向 int k=1; int now,l,r,d; int i,j,sum=0; int a; char str100; float ave; cidao=bubble(cidao,m); /调用冒泡排序算法排序 coutstr; /对输入数据进行有效性判断 a=decide(str); if(a=0) cout输入数据的类型错误,请重新输入endl; goto D; else now=trans(str,a); /输入当前磁道号 if(cidaom-1=now) /若当前磁道号大于请求序列中最大者则直接由外向内依次给予各 /请求服务,此情况同最短寻道优先 cout=0;i-) coutcidaoi=now) /若当前磁道号小于请求序列中最小者则直接由内向外依次给予各请 /求服务,此情况同最短寻道优先 cout磁盘扫描序列为; for(i=0;im;i+) coutcidaoicidao0&nowcidaom-1) /若当前磁道号大于请求序列中最小者且小于最大者 while(cidaoknow) k+; l=k-1; r=k; coutd; if(d=0) /选择移动臂方向向内则先向内扫描 cout=0;j-) coutcidaoj ; /输出向内扫描的序列 for(j=r;jm;j+) /磁头移动到最小号则改变方向向外扫描未扫描的磁道 coutcidaoj ; /输出向外扫描的序列 sum=now-2*cidao0+cidaom-1; else /选择移动臂方向向外则先向外扫描 cout磁盘扫描序列为; for(j=r;jm;j+) coutcidaoj=0;j-) /磁头移动到最大号则改变方向向内扫描未扫描的磁道 coutcidaoj ; sum=-now-cidao0+2*cidaom-1; ave=(float)(sum)/(float)(m); coutendl; cout平均寻道长度 aveendl; /*循环扫描调度算法*/ void main() int a; int cidaomaxsize; int i=0,count; char str100; cout请输入磁道序列0结束str; /对输入数据进行有效性判断 a=decide(str); if(a=0) cout输入数据的类型错误,请重新输入str; /对输入数据进行有效性判断 a=decide(str); if(a=0) cout输入数据的类型错误,请重新输入endl; else cidaoi=trans(str,a); i+; count=i-1; /要访问的磁道数 cout你输入的磁道序列为; for(i=0;icount;i+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 校企合作上课协议书
- 代理分公司合同范本
- 危险运动免责协议书
- 村民草原防火协议书
- 代理办理证件协议书
- 万象城商铺合同范本
- 树莓种植承诺协议书
- 医生事业编合同范本
- 坪山新区土地整备中心公开招聘普通雇员招聘易考易错模拟试题(共500题)试卷后附参考答案
- 代工施工安全协议书
- 2023-2024学年重庆市大渡口区化学九上期中监测模拟试题含解析
- 医院医疗临床带教培训课件:临床护理带教新思路
- 六年级上册美术课件-7.纸雕花卉 -冀教版
- GB/T 26081-2022排水工程用球墨铸铁管、管件和附件
- YS/T 514.7-2009高钛渣、金红石化学分析方法第7部分:氧化钙、氧化镁量的测定火焰原子吸收光谱法
- GB/T 30732-2014煤的工业分析方法仪器法
- 教师资格证考试心理学复习题
- 髋关节Harris评分表
- 学术规范与论文写作课件
- 2021年秋五年级数学上册四多边形的面积第5课时梯形的面积刘徽的出入相补原理拓展资料北师大版
- 富士5000G11和G7S参数设定
评论
0/150
提交评论