1、题目 8 磁盘调度一、实验目的1、对磁盘调度的相关知识作进一步的了解,明确磁盘调度的原理。2、加深理解磁盘调度的主要任务。3、通过编程,掌握磁盘调度的主要算法。二、实验内容和要求1、对于如下给定的一组磁盘访问进行调度:2、要求分别采用先来先服务、最短寻道优先以及电梯调度方法进行调度。3、要求给出每种算法中磁盘访问的顺序,计算出平均移动道数。4、假定当前读写头在 90 号,向磁道号增加的方向移动。三、实验报告1、程序中使用的数据结构及符号说明。2、给出主要算法的流程图。3、给出程序清单并附上注释。4、给出测试数据和运行结果。程序:#include#include#define N 11void
2、main()/请求服务到达 A B C D E F G H I J K/访问的磁道号30 50 100 180 20 90 150 70 80 10 160/要求给出每种算法中磁盘访问的顺序,计算出平均移动道数。/假定当前读写头在号,向磁道号增加的方向移动。/初始化请求服务到达 A B C D E F G H I J K访问的磁道号 30 50 100 180 20 90 150 70 80 10 160int trackN,track2N+1;int i ;printf(“请输入访问磁道序列:n“);for (i=0;itrackj+1)t=trackj;trackj= trackj+1;trackj+1=t;for (i=0;i90)break;for (j=i;j=0;j-)printf(“%d “,trackj);s = (trackN-1-90)+(trackN-1-track0);printf(“n平均移动磁道数:%0.1lf“,s/N);printf(“n“);运行结果: