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