操作系统实验六磁盘调度算法正确C++代码.doc

操作系统实验六磁盘调度算法正确C++代码.doc

ID:50865260

大小:97.00 KB

页数:8页

时间:2020-03-15

操作系统实验六磁盘调度算法正确C++代码.doc_第1页
操作系统实验六磁盘调度算法正确C++代码.doc_第2页
操作系统实验六磁盘调度算法正确C++代码.doc_第3页
操作系统实验六磁盘调度算法正确C++代码.doc_第4页
操作系统实验六磁盘调度算法正确C++代码.doc_第5页
资源描述:

《操作系统实验六磁盘调度算法正确C++代码.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《操作系统》实验报告【实验题目】:磁盘调度算法【实验目的】通过这次实验,加深对磁盘调度算法的理解,进一步掌握先来先服务FCFS,最短寻道时间优先SSTF,SCAN和循环SCAN算法的实现方法。【实验内容】问题描述:设计程序模拟先来先服务FCFS,最短寻道时间优先SSTF,SCAN和循环SCAN算法的工作过程。假设有n个磁道号所组成的磁道访问序列,给定开始磁道号m和磁头移动的方向(正向或者反向),分别利用不同的磁盘调度算法访问磁道序列,给出每一次访问的磁头移动距离,计算每种算法的平均寻道长度。程序要求如下:1)利用先来先服务FCFS,最短寻道时

2、间优先SSTF,SCAN和循环SCAN算法模拟磁道访问过程。2)模拟四种算法的磁道访问过程,给出每个磁道访问的磁头移动距离。3)输入:磁道个数n和磁道访问序列,开始磁道号m和磁头移动方向(对SCAN和循环SCAN算法有效),算法选择1-FCFS,2-SSTF,3-SCAN,4-循环SCAN。4)输出:每种算法的平均寻道长度。实验要求:1)上机前认真复习磁盘调度算法,熟悉FCFS,SSTF,SCAN和循环SCAN算法的过程;2)上机时独立编程、调试程序;3)根据具体实验要求,完成好实验报告(包括实验的目的、内容、要求、源程序、实例运行结果截图)

3、。实验代码:#include#include#includeusingnamespacestd;constintMaxNumber=100;intTrackOrder[MaxNumber];intMoveDistance[MaxNumber];//移动距离intFindOrder[MaxNumber];//寻好序列doubleAverageDistance;//平均寻道长度booldirection;//方向true时为向外,false为向里intBeginNum;//开始磁道号intM=

4、500;//磁道数intN;//提出磁盘I/O申请的进程数intSortOrder[MaxNumber];//排序后的序列boolFinished[MaxNumber];voidInith(){cout<<"请输入提出磁盘I/O申请的进程数:";cin>>N;cout<<"请依次输入要访问的磁道号:";for(inti=0;i>TrackOrder[i];for(intj=0;j>BeginNum;for(intk=0;k

5、k++)Finished[k]=false;for(intl=0;l=0;i--)for(intj=0;jSortOrder[j+1]){temp=SortOrder[j];SortOrder[j]=SortOrder[j+1];SortO

6、rder[j+1]=temp;}}}//============FCFS,先来先服务=================================voidFCFS(){inttemp;temp=BeginNum;for(inti=0;i

7、){inttemp,n;intA=M;temp=BeginNum;for(inti=0;i

8、====SCAN,扫描算法==========================voidSCAN(){intm,n,temp;temp=BeginNum;Sort()

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。