实现了如下四种调度算法的模拟:
(1)时间片轮转调度
(2)优先数调度
(3)最短进程优先
(4)最短剩余时间优先
模拟过程使用了JProgressBar作为进程状态条,更为直观地观察到每个进程的执行状态。
程序用户说明:
1、在上图标号1处输入要创建随机进程的个数,仅可输入正数,非正数会有相关提示。然后点击标号2处的“创建进程”按钮,随进创建的进程显示在程序界面的中央窗口,如标号3所示。
2、创建好随机进程后,在标号4的单选框选择将要模拟执行的调度算法,然后点击标号5处的“开始模拟”,程序开始执行。标号3的列表会显示相应的调度变化。
3、模拟过程中,可以继续添加新的进程,操作同上。
4、 一个算法模拟执行完毕之后,可以点击标号6的“复位”按钮,可以重置列表的内容为程序模拟运行前的内容。复位成功后,可以继续选择其他调度算法进行模拟。
5、标号7显示为程序模拟过程中的时间,从1秒开始累计。
6、点击标号8的“清空”按钮,可以清空类别的进程,以便程序的下次执行。
题目要求:
题目四 单处理器系统的进程调度
一 、 课 程 设 计 目 的
1. 加深对进程概念的理解, 明确进程和程序的区别。
2. 深入了解系统如何组织进程、 创建进程。
3. 进一步认识如何实现处理器调度。
二 、 课 程 设 计 内 容
编写程序完成单处理器系统中的进程调度, 要求实现时间片轮转、 优先数、 最短进程优
先和最短剩余时间优先四种调度算法。 实验具体包括: 首先确定进程控制块的内容, 进程控
制块的组成方式; 然后完成进程创建原语和进程调度原语; 最后编写主函数对所作工作进行
测试。
模拟程序只对你所设置的“ 虚拟 PCB” 进行相应的调度模拟操作, 即每发生“ 调度”
时, 显示出当前运行进程的“ 进程标识符”、“ 优先数”、“ 剩余运行时间” 等, 而不需要对系
统中真正的 PCB 等数据进行修改。
1