自考-计算机系统(周转时间)

题目

有下表所示的若干进程,忽略调度的时间开销

进程达到时间执行时间(分钟)
p19:0070
p29:4030
p39:5010
p410:105

要求:写出分别采用先来先服务和最短进程优先调度算法时间的调度次序和平均周转时间。


解法

注意看题,要求是用先来先服务最短进程优先调度算法时,各自的  调度次序 平均周转时间。

小知识:一小时 = 60分钟


先来先服务(FCFS)解法

调度次序:P1->P2->P3->P4

平均周转时间:(70 + 60 + 60 + 45) / 4 = 235/4 = 58.75(分钟)

9.00分开始执行p1    9.00-9.00 = 0.00    等待了0分钟  等待时间+执行时间(0+70)=70     9.00+0.70 = 10.10  
10.10分开始执行p2  10.10-9.40 = 0.30  等待了30分钟,等待时间+执行时间(30+30)=60  10.10+0.30=10.40
10.40分开始执行p3   10.40-9.50 = 0.50  等待了50分钟  等待时间+执行时间(50+10) =60   10.40+0.10 = 10.50
10.50分开始执行p4  10.50-10.10 = 0.40 等待了40分钟  等待时间+执行时间(40+5) = 45

进程开始时间到达时间等待时间(分钟)执行时间(分钟)周转时间(分钟)
p19:009:0007070
p210:109:40303060
p310:409:50501060
p410:5010:1040545(

(70+60+60+45) / 4 = 58.75


最短进程优先调度算法

调度次序:P1->P4->P3->P2

平均周转时间:(70 + 75 + 35+ 5) / 5 = 185/4 = 46.25(分钟)

 

进程调度算法模拟。通过对进程调度算法的模拟,进一步理解进程的基本概念,加深对进程运行状态和进程调度过程、调度算法的理解。 (1) 用C、C++、Java语言编程实现对5个进程采用动态优先权调度算法进行调度的过程。数据如下: 5个进程到达时刻和服务时间下表忽略I/O以及其它开销时间,使用动态优先权算法进行调度,优先权初始值为100,请输出各个进程的完成时刻、周转时间、带权周转时间进程 到达时刻 服务时间 A 0 3 B 2 6 C 4 4 D 6 5 E 8 2 (2)每个用来标识进程进程控制块PCB可用结构来描述,包括以下字段(用不到的字段可以不定义)。  进程标识数ID。  进程优先数PRIORITY,并规定优先数越大的进程,其优先权越高。  进程已占用CPU时间CPUTIME。  进程还需占用的CPU时间ALLTIME。当进程运行完毕时,ALLTIME变为0。  进程的阻塞时间STARTBLOCK,表示当进程再运行STARTBLOCK个时间片后,进程将进入阻塞状态。  进程被阻塞的时间BLOCKTIME,表示已阻塞的进程再等待BLOCKTIME个时间片后,将转换成就绪状态。  进程状态STATE。  队列指针NEXT,用来将PCB排成队列。 (3)优先数改变的原则:  进程在就绪队列中呆一个时间片,优先数增加1。  进程每运行一个时间片,优先数减3。 (4)为了清楚地观察每个进程调度过程,程序应将每个时间片内的进程的情况显示出来,包括正在运行的进程,处于就绪队列中的进程和处于阻塞队列中的进程。 (5)分析程序运行的结果,谈一下自己的认识。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

An_s

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值