实验二 优先级调度算法
实验报告
实验目的
本实验模拟在单处理机情况下的处理机调度,帮助学生了解处理机调度的工作。
实验内容
设计一个按优先数调度算法实现处理机调度的程序。
实验步骤
(1)假定系统有五个进程,每一个进程用一个进程控制块 PCB 来代表。进程控制块的
格式为:
进程名
指针
要求运行时间
优先数
状态
其中:
进程名——作为进程的标识,假设五个进程的进程名分别为 P1,P2,P3,P4,P5。
指针——按优先数的大小把五个进程连成队列,用指针指出下一个进程的进程控制块的首
地址,最后一个进程中的指针为“NULL”。
要求运行时间—假设进程需要运行的单位时间
优先数—赋予进程的优先数,调度时总是选取优先数最大的进程先执行。
状态—可假设只有两种状态,“就绪”状态和“结束”状态。五个进程的初始状态都为“就绪”,
用“R”表示,当一个进程运行结束后,它的状态为“结束”,用“E”表示。
(2)在每次运行你所设计的处理机调度程序之前,为每个进程任意确定它的“优先数”和“要
求运行的时间”。
(3)为了调度方便,把五个进程按给定的优先数从小到大连成队列。用一个单元指出队首
进程,用指针指出队列的连接情况例
(4) 处理机调度总是选队首进程运行。采用动态改变优先数的办法,进程每运行一次优
先数-1,要求运行时间-1。
(5)进程运行一次后,若要求运行时间!=0,则再将它加入队列(按优先数大小插入,
且置队首
标志);若要求运行时间=0,则把它的状态改成“结束”(E), 且退出队列。
(6)若“就绪”状态的队列不为空,则重复上面
(4)和 (5)的步骤,直到所有进程都成为“结束”状态。
(7)在所设计的程序中应有显示或打印语句,能显示或打印每次被选中进程程名以及运行
一次后进程队列的变化。的进
(8)为五个进程任意确定一组“优先数”和“要求运行时间”,启动所设计的处理机调度程序,
显示或打印逐次被选中进程的进程名以及进程控制块的动态变化过程。
评论1
最新资源