模拟电梯调度算法,实现对磁盘的驱动调度
一、实验内容
模拟电梯调度算法,实现对磁盘的驱动调度。
二、实验目的
磁盘是一种高速、大容量、旋转型、可直接存取的存储设备。它作为计算机系统的辅
助存储器,担负着繁重的输入输出任务,在多道程序设计系统中,往往同时会有若干个要
求访问磁盘的输入输出请求等待处理。系统可采用一种策略,尽可能按最佳次序执行要求
访问磁盘的诸输入输出请求,这就叫驱动调度,使用的算法称驱动调度算法。驱动调度能
降低为若干个输入输出请求服务所需的总时间,从而提高系统效率。本实验模拟设计一个
驱动调度程序,观察驱动调度程序的动态运行过程。
三、实验题目
模拟电梯调度算法,对磁盘进行移臂调度和旋转调度。
[设计思路、数据结构、流程图]:
(1) 磁盘是可供多个进程共享的存储设备,但一个磁盘每个时刻只能为一个进程服务。
当有进程在访问某个磁盘时,其它想访问该磁盘的进程必须等待,直到磁盘一次工作结束
当有多个进程提出输入输出请求而处于等待状态时,可用电梯调度算法从若干个等待访问
者中选择一个进程,让它访问磁盘。选择访问者的工作由“驱动调度”进程来完成。
由于磁盘与处理器是可以并行工作的,所以当磁盘在为一个进程服务时,占有处理器
的另一进程可以提出使用磁盘的要求,也就是说,系统能动态地接收新的输入输出请求。
为了模拟这种情况,在本实验中设置一个“接收请求”进程。
“驱动调度”进程和“接收请求”进程能否占有处理器运行,取决于磁盘的结束中断信号和
处理器调度策略。在实验中可用随机数来模拟确定这两个进程的运行顺序,以代替中断处
理和处理器调度选择进程的过程。因而,程序的结构可参考图 1。
图 1 程序结构
评论2
最新资源