




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、磁盘调度算法一、实验目的1、对磁盘调度的相关知识作进一步的了解,明确磁盘调度的原理2、加深理解磁盘调度的主要任务。3、通过编程,掌握磁盘调度的主要算法。二、实验内容和要求1、对于如下给定的一组磁盘访问进行调度:请求服务到达ABCDEFGHIJK访问的磁道号305010018020901507080101602、要求分别采用先来先服务、最短寻道优先以及电梯调度方法进行调度3、要求给出每种算法中磁盘访问的顺序,计算出平均移动道数。4、假定当前读写头在 90 号,向磁道号增加的方向移动。三、实验报告1、程序中使用的数据结构及符号说明2、给出主要算法的流程图。3、给出程序清单并附上注释。4、给出测试数
2、据和运行结果。#include #include const int MaxNumber=100;int TrackOrderMaxNumber;int MoveDistanceMaxNumber;int FindOrderMaxNumber; double AverageDistance; bool direction;int BeginNum;int M;int N;int SortOrderMaxNumber; bool FinishedMaxNumber;#include using namespace std;/ 移动距离 ;/ 寻好序列。/ 平均寻道长度/ 方向 true 时为向外
3、, false 为向里/ 开始磁道号。/ 磁道数。/ 提出磁盘 I/O 申请的进程数/ 排序后的序列void Inith()coutM;coutN;cout 请依次输入要访问的磁道号: ; for ( int i=0;iTrackOrderi;for ( int j=0;jN;j+)MoveDistancej=0;coutBeginNum;for ( int k=0;kN;k+) Finishedk= false ;for ( int l=0;l=0;i-)for (int j=0;jSortOrderj+1) temp=SortOrderj; SortOrderj=SortOrderj+1;
4、 SortOrderj+1=temp;/= 先来先服务 =void FCFS()int temp;temp=BeginNum; / 将 BeginNum赋给 temp作为寻道时的当前所在磁道号for ( int i=0;iN;i+)MoveDistancei=abs(TrackOrderi-temp);/- 计算移动磁道数temp=TrackOrderi;/- 寻到后, 将此道作为当前所在磁道号,赋给tempFindOrderi=TrackOrderi;/寻好的赋给寻好序列/= 最短寻道法 =void SSTF()int temp,n;int A=M;temp=BeginNum; / 将 Be
5、ginNum赋给 temp作为寻道时的当前所在磁道号for ( int i=0;iN;i+)for (int j=0;jN;j+) / 寻找最短的寻道长度if (abs(TrackOrderj-temp)A&Finishedj= false ) A=abs(TrackOrderj-temp);n=j;else continue ;/ 将已经寻找到的Finished 赋值为 true/ 寻道长度/ 当前寻道号。/ 重置 A值/ 寻好的赋给寻好序列Finishedn= true ;MoveDistancei=A; temp=TrackOrdern;A=M;FindOrderi=TrackOrder
6、n; /=S扫描算法(电梯调度算法) = void SCAN()int m,n,temp;temp=BeginNum;Sort(); / 排序coutm;if (m=1)direction= true ;else if (m=0)direction= false ;elsecout 输入错误! ;for ( int i=0;iN;i+)if (SortOrderiBeginNum)continue ;elsen=i;break ;if (direction= true ) / 选择向外for (int i=n;i=0;j-)MoveDistanceN-1-j=abs(SortOrderj-te
7、mp);temp=SortOrderj; FindOrderN-1-j=SortOrderj; else / 选择向里for (int i=n-1;i=0;i-) MoveDistanceN-i-4=abs(SortOrderi-temp); temp=SortOrderi;FindOrderN-i-4=SortOrderi;for (int j=n;jN;j+)MoveDistancej=abs(SortOrderj-temp); temp=TrackOrderj;FindOrderj=SortOrderj;void Count()int Total=0;for ( int i=0;iN;i
8、+)Total+=MoveDistancei;AverageDistance=( double )Total)/( double )N);void Show()cout =从 BeginNum 号磁道开始 =endl; coutsetw(20) 被访问的下一个磁道号 setw(20) 移动距离 ( 磁道数 ) endl; for ( int i=0;iN;i+) coutsetw(15)FindOrderisetw(15)MoveDistanceiendl;coutsetw(20) 平均寻道长度 : AverageDistanceendl;coutendl;int main()int y=1;int s;Inith();while (y)couts;switch (s)case 1:FCFS();Count();Show();break ;case 2:SSTF();Count();Show();break ;case 3:S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年秋三年级上册语文同步教案 6 秋天的雨
- 线束行业研究报告
- 骨科医学报告骨科工作总结课件模板
- 作业场所因素管理制度
- 有机热载体产品质量河南省监督抽查实施细则
- 供应商分层级管理制度
- 供暖公司人流管理制度
- 供水仓库卫生管理制度
- 供水安全保卫管理制度
- 供水设备保养管理制度
- 高速铁路客运服务专业人才培养方案
- 《商业银行信用卡业务监督管理办法》试卷及答案
- 常用应用文写作格式
- 空调检测报告
- 变压器实验报告
- 游乐场合作经营合同书
- 神经生理治疗技术
- 浙江温州高速公路瓯北片区招聘高速公路巡查人员考试真题2022
- 江苏苏州工业园区苏相合作区管理委员会机关工作人员招聘13人告5204笔试题库含答案解析
- 三年级下学期音乐复习题
- 电网调度自动化系统调试报告模板
评论
0/150
提交评论