题目4基于优先数的时间片轮转调度算法调度处理器一、实验目的在采用多道程序设计的系统中,同时处于就绪态的进程往往有多个,当就绪态的进程数大于处理器的个数时,就需按照某种策略进行分配处理器
本次设计模拟在单处理器情况下采用基于优先数的时间片轮转调度算法进行处理器调度,加深了解处理器调度工作过程
二、实验内容及要求1、设计一个程序实现基于优先数的时间片轮转调度算法调度处理器
2、假定系统有5个进程,每个进程用一个进程控制块PCB开代表,进程控制块的结构如下图1
2所示:进程名指针到达时间要求运行时间已运行时间优先数进程状态图1其中:进程名:作为进程的标识
指针:进程按顺序排成循环链表,用指针指出下一个进程的进程控制块首地址,最后一个进程中的指针指出第一个进程的进程控制块首地址
要求运行时间:假设进程需要运行的单位时间数
已运行时间:假设进程已经运行的单位时间数,初值为0
状态:可假设有两种状态,就绪状态和结束状态
进程的初始状态都为就绪状态
3、每次运行所设计的处理器调度程序调度进程之前,为每个进程任意确定它的要求运行时间
4、此程序是模拟处理器调度,因此,被选中的进程并不实际启动运行,而是执行已运行时间+1来模拟进程的一次运行,表示进程已经运行过一个单位时间
5、在所设计的程序中应有显示或打印语句,能显示或打印每次被选中的进程名以及运行一次后进程队列的变化
6、为进程任意确定要求运行时间,运行所设计的处理器调度程序,显示或打印逐次被选中进程的进程名以及进程控制块的动态变化过程
7、设有一个就绪队列,就绪进程按优先数(优先数范围0-100)由小到大排列(优先数越小,级别越高)
当某一进程运行完一个时间片后,其优先级应下调(如优先数加2或3)
8、例如一组进程如下表:进程名ABCDEFGHJKLM到达时间012368121212182525服务时间641051251043158三