首页 电梯调度算法

电梯调度算法

举报
开通vip

电梯调度算法一、实验内容 模拟电梯调度算 法,实现对磁盘的驱动调度; 二、实验目的 磁盘是一种高速、大量旋转型、可直接存取的存储设备。它作为计算机系统的辅助存储器,负担着繁重的输入输出任务,在多道程序设计系统中,往往同时会有若干个要求访问磁盘的输入输出请示等待处理。系统可采用一种策略,尽可能按最佳次序执行要求访问磁盘的诸输入输出请求,这就叫驱动调度,使用的算法称驱动调度算法。驱动调度能降低为若干个输入输出请求服务所须的总时间,从而提高系统效率。本实验要求学生模拟设计一个驱动调度程序,观察驱动调度程序的动态运行过程。 三、实验...

电梯调度算法
一、实验内容 模拟电梯调度算 法,实现对磁盘的驱动调度; 二、实验目的 磁盘是一种高速、大量旋转型、可直接存取的存储设备。它作为计算机系统的辅助存储器,负担着繁重的输入输出任务,在多道程序设计系统中,往往同时会有若干个要求访问磁盘的输入输出请示等待处理。系统可采用一种策略,尽可能按最佳次序执行要求访问磁盘的诸输入输出请求,这就叫驱动调度,使用的算法称驱动调度算法。驱动调度能降低为若干个输入输出请求服务所须的总时间,从而提高系统效率。本实验要求学生模拟设计一个驱动调度程序,观察驱动调度程序的动态运行过程。 三、实验原理 模拟电梯调度算法,对磁盘调度。 磁盘是要供多个进程共享的存储设备,但一个磁盘每个时刻只能为一个进程服务。 当有进程在访问某个磁盘时,其他想访问该磁盘的进程必须等待,直到磁盘一次工作结束。 当有多个进程提出输入输出请求处于等待状态,可用电梯调度算法从若干个等待访问者中选择一个进程,让它访问磁盘。当存取臂仅需移到一个方向最远的所请求的柱面后,如果没有访问请求了,存取臂就改变方向。 四、算法流程图 五、源程序及注释 #include #include #include #include #define COUNT 15 #define NOW 100 int C[COUNT]; //产生15个随机数,均小于200 int rnd() { int i; srand(i-COUNT); srand(time(NULL));    for(i=0;iC[j+1]) { t=C[j]; C[j]=C[j+1]; C[j+1]=t; }        } } } //找到小于100及大于100的分界线 int find() { int i; for(i=0;iNOW) return i; } return COUNT-1; } void print() { int i; i=find(); printf("执行的顺序为:\n"); for(i;i=0;i--) { printf("%d    ",C[i]); } printf("\n"); } void  cal() { int sum; sum=abs(C[COUNT-1]-NOW)+abs(C[COUNT-1]-C[0]); printf("平均循道长度为:%d\n",sum/COUNT); } void main() { rnd(); printf("随机产生的请求为:\n"); show(); soar(); print(); cal(); } 六、打印的程序运行时初值和运行结果 七、实验小结 本次实验是最简单的一个了,从流程图中就可以看出。关键是要清楚电梯调度的方法,磁头是如何移动的。还要会用随机函数产生一列数。
本文档为【电梯调度算法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_215732
暂无简介~
格式:doc
大小:20KB
软件:Word
页数:8
分类:互联网
上传时间:2019-01-15
浏览量:99