一、 实验目的
编写并调试一个模拟的进程调度程序,以加深对进程的概念及进程调度算法的理解.
二、实验内容
调试运行“动态优先级”调度算法,给出运行结果。
采用“短进程优先”调度算法对五个进程进行调度。每个进程有一个进程控制块( PCB)表示。进程控制块可以包含如下信息:进程名、到达时间、需要运行时间、已用CPU时间、进程状态等等。
每个进程的状态可以是就绪 W(Wait)、运行R(Run)、或完成F(Finish)三种状态之一。 每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的 PCB,以便进行检查。重复以上过程,直到所要进程都完成为止。
三、实现思路
输入所有即将需要运行的进程的信息,顺着当前执行的时刻,根据贪婪算法,每次将满足到达时间要求的进程插入队列并根据进程运行所需时间升序排序,即最短运行所需时间进程放置队首,最长运行所需时间进程放置队尾,非抢占式运行依次运行每个进程,当该进程运行结束后出队,并运行下一个最短运行所需时间进程,以此循环进行。
四、主要的数据结构
包含进程名、到达时间、所需运行时间、已用CPU时间、进程状态的PCB结构体,链表及队列。