- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验三 驱动调度
一、实验内容
模拟电梯调度算法,实现对磁盘的驱动调度。
二、实验目的
磁盘是一种高速、大容量、旋转型、可直接存取的存储设备。它作为计算机系
统的辅助存储器,担负着繁重的输入输出任务、在多道程序设计系统中,往往同时
会有若干个要求访问磁盘的输入输出请求等待处理。系统可采用一种策略,尽可能
按最佳次序执行要求访问磁盘的诸输入输出请求。这就叫驱动调度,使用的算法称
为驱动调度算法。驱动调度能降低为若干个输入输出请求服务所需的总时间,从而
提高系统效率。本实验要求学生模拟设计一个驱动调度程序,观察驱动调度程序的
动态运行过程。通过实验使学生理解和掌握驱动调度的职能。
三、数据结构
#define M 20
typedef struct PCB
{
char proc[M];// 进程名
int cylinder_num;//柱面号
int track_num;//磁道号
int phy_num;//物理记录号
struct PCB *next;
}PCB;
四、实验题目
模拟电梯调度算法,对磁盘进行移臂和旋转调度。
(1)磁盘是可供多个进程共享的存储设备, 但一个磁盘每时刻只能为一个进程
服务。当有进程在访问某个磁盘时,其他想访问该磁盘的进程必须等待,直到磁盘
一次工作结束。当有多个进程提出输入输出要求而处于等待状态时,可用电梯调度
算法从若干个等待访问者中选择一个进程, 让它访问磁盘。选择访问者的工作由 “驱
动调度”进程来完成。
由于磁盘与处理器是可以并行工作的、 所以当磁盘在作为一个进程服务时, 占
有处理器的另一进程可以提出使用磁盘的要求,也就是说,系统能动态地接收新的
输入输出请求。为了模拟这种情况,在本实验中设置了一个“接收请求”进程。
“驱动调度”进程和“接收请求”进程能否占有处理器运行,取决于磁盘的结
束中断信号和处理器调度策略。在实验中可用随机数来模拟确定这两个进程的运行
顺序,以代替中断处理和处理器调度选择的过程。因而,程序的结构可参考图 3— 1
(2 )“接收请求”进程建立一张“请求 I/O ”表,指出访问磁盘的进程要求访
问的物理地址,表的格式为:
进程名 柱面号 磁道号 物理记录号
开始
初始化
输入在 [0 ,1] 区间
内的一个随机数
是
否
随机数 1/2
驱动调度 接受请求
是 否
继续?
结束
图 3— 1 程序结构
假定某个磁盘组共有 200 个柱面,由外向里顺序编号( 0— 199),每个柱面上
有 20 个磁道,编号为 0— 19,每个磁道分成 8 个物理记录,编号 0—7。进程访问
磁盘的物理地址可以用键盘输入的方法模拟得到。图 3—2 是“接收请求”进程的
模拟算法。
在实际的系统中必须把等待
原创力文档


文档评论(0)