C语言顺序表用数组的形式写一个简单的代码
时间: 2024-05-29 19:09:06 浏览: 22
(1) 最高优先级优先算法:作业按照优先级从高到低进行调度,因此先调度作业E(运行时间为9分钟),其次是作业D(运行时间为5分钟),然后是作业C(运行时间为4分钟),接着是作业B(运行时间为3分钟),最后是作业A(运行时间为2分钟)。因此平均周转时间为:((9-0)+(14-0)+(18-0)+(21-0)+(23-0))/5=15.0分钟
(2) 先来先服务算法:作业按照到达顺序进行调度,因此先调度作业C(运行时间为4分钟),接着是作业D(运行时间为5分钟),然后是作业B(运行时间为3分钟),接着是作业E(运行时间为9分钟),最后是作业A(运行时间为2分钟)。因此平均周转时间为:((4-0)+(9-0)+(12-0)+(21-0)+(23-0))/5=13.8分钟
(3) 短作业优先算法:作业按照运行时间从短到长进行调度,因此先调度作业A(运行时间为2分钟),接着是作业B(运行时间为3分钟),然后是作业C(运行时间为4分钟),接着是作业D(运行时间为5分钟),最后是作业E(运行时间为9分钟)。因此平均周转时间为:((2-0)+(5-0)+(9-0)+(14-0)+(23-0))/5=10.6分钟
(4) 时间片轮转算法:作业每次只运行1分钟,然后放弃CPU,等待下一轮时间片调度。因此第一轮调度为A、B、C、D、E,第二轮调度为B、C、D、E、A,第三轮调度为C、D、E、A、B,第四轮调度为D、E、A、B、C,第五轮调度为E、A、B、C、D,第六轮调度为A、B、C、D、E,第七轮调度为B、C、D、E、A,第八轮调度为C、D、E、A、B,第九轮调度为D、E、A、B、C,第十轮调度为E、A、B、C、D。因此平均周转时间为:((11-0)+(14-0)+(17-0)+(20-0)+(38-0))/5=16.0分钟
注:每个作业的等待时间都是自己前面作业的运行时间的总和。而平均周转时间则等于每个作业的周转时间(等待时间+运行时间)的平均值。