1、实验一 处理机调度一、实验目的多道程序设计中,经常是若干个进程同时处于就绪状态,为了使系统中的各进程有条不紊地运行,必须选择某种调度策略,以选择一个进程占用处理机。本次实验设计一个模拟单处理机调度的算法,以加深处理机调度的算法的理解。二、实验要求1按照轮转(时间片)算法设计模拟调度程序。2输出进程的调度过程。三、思路分析由于本实验是按照处理机调度算法模拟实现处理机的调度,与真正的处理机调度过程不完全相同,如没有实现中断,进程的运行也不是真正的运行,而是在屏幕上打印其运行时间等。以下是实验的大致思路:(1) 建立三个队列:PCB 队列,就绪队列,完成队列。PCB 队列:保存将进入系统的进程。 (
2、由于没有实现中断,所以将进入系统运行的进程必须在程序运行前给出) 。就绪队列:到达进程进入系统的时间,将该进程放入就绪队列,等待调度。完成队列:将“运行”完的进程放入完成队列。(2) 进程运行过程是在屏幕上打印相关信息。使用轮转算法调度的进程应打印的信息包括:进程占用处理机序列,该进程每次占用处理机的开始时间与结束时间。可参考下图:(3) 统计出进程的周转时间 T 和带权周转时间 W。四、流程图(供参考)开始是否有新进程进入系统新进程加入就绪队列就绪队列是否为空取出一个进程运行时间片用完,该进程是否运行完放入完成队列是否所有进程“运行”完YN结束YYNNYN若有新进程进入系统,则先将新进程插入就绪队列,否则直接将该进程插入就绪队列五、实验内容编写程序实现轮转算法的模拟调度程序。 (可参考 FCFS 算法的模拟调度程序。见附件。开发环境: VC+ 6.0)