作业帮 > 综合 > 作业

某计算机系统中,进程调度采用时间片轮转调度算法.每个进程得到的时间片可随进程的执行情况而变化,在过去的时间里,若进程经常

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/23 20:13:15
某计算机系统中,进程调度采用时间片轮转调度算法.每个进程得到的时间片可随进程的执行情况而变化,在过去的时间里,若进程经常启动外设则给它分配较短的时间片;若启动外设次数很少则分配一个较长的时间片.请回答:
(1)上述的分配时间片的方法有什么优点?
(2)在系统中设置两个就绪队列,一个是时间片较短的进程就绪队列,另一个是时间片较长的进程就绪队列.那么,你认为在进程调度时应优先从哪个队列中选取一个就绪进程占有CPU?为什么?
(1)这种分配方法能够提高处理器(CPU)的利用率.
因为启动外设的速度是很慢的,在某个进程使用外设的过程中是处于一种阻塞的状态,CPU只能闲置,极大地降低了CPU利用率,CPU完全可以利用该进程读写外设的时间运行其他的进程.
比如一个进程A每使用CPU时间为1ms就要进行外设操作,假设外设操作时间为30ms,那么如果给他分配的时间片为1ms,好,那么CPU没有被耽误;如果分配5ms,那么CPU闲置4ms;如果分配30ms,那就废了,29ms中CPU都没事干.
现在的进程管理一般是这样的,一个进程中有至少一个线程,进程作为资源分配的对象,线程作为CPU调度的对象.一旦某一个线程发生阻塞而进程的时间片没有用完,那么操作系统就会切换该进程中的其他可以运行的线程运行,如果该进程中的所有线程都运行不了,那么就将该进程踢出CPU,调用其他进程运行.
(2)优先选用时间片较短的序列
这是进程调度中的段任务优先原则.如果两个进程A和B,A要1ms就能搞定,B要30ms才能做完,那么如果A不幸排在B后面,那么A要等30ms才能运行,那么程序响应时间和交互体验很差.
如果先A 后B,那么A的响应时间为1ms,B为31ms;
如果先B 后A,那么A的响应时间为31ms,B为30ms.
你认为那种方式好?