编写一个单处理机下的进程调度程序,模拟操作系统对进程的调度。
要求:1.能够创建指定数量的进程,每个进程由一个进程控制块表示。
2.实现先来先服务调度算法:进程到达时间可由进程创建时间表示。
3.实现短作业优先调度算法:可指定进程要求的运行时间。
(说明:对不可剥夺的短作业优先算法,当作业运行时间相等时,优先调度进程号小的进程执行;
对可剥夺式的短作业优先算法,即选最短剩余时间的进程进行运行,在剩余时间相同的情况下,选择到达时间早的进程进行运行)4.实现时间片轮转调度算法:可指定生成时间片大小。
(说明:新进程到来时插入到就绪队列的队尾,当进程P运行完一个时间片时,若同时有进程Q到达,则先在就绪队列队尾插入新到达的进程Q,之后再插入进程P)5.实现动态优先级调度算法:可指定进程的初始优先级(优先级与优先数成反比,优先级最高为0),优先级改变遵循下列原则:进程在就绪队列中每停留一个时间片,优先级加1,进程每运行一个时间片,优先级减3。
(说明:本算法在优先级相同的情况下,选择到达时间早的进程进行运行)测试用例格式如下:输入:调度算法 进程号/到达时间/运行时间/优先级/时间片输出:调度顺序/进程号/开始运行时间/结束运行时间/优先级其中调度算法选项为:1----先来先服务,2----短作业优先,3----最短剩余时间优先,4----时间片轮转,5----动态优先级
2024/12/3 15:14:28
12KB
进程调度