中易网

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

答案:2  悬赏:20  
解决时间 2021-04-27 21:37
  • 提问者网友:刪除丶後
  • 2021-04-27 18:28
某计算机系统中,进程调度采用时间片轮转调度算法。每个进程得到的时间片可随进程的执行情况而变化,在过去的时间里,若进程经常启动外设则给它分配较短的时间片;若启动外设次数很少则分配一个较长的时间片。请回答:
(1)上述的分配时间片的方法有什么优点?
(2)在系统中设置两个就绪队列,一个是时间片较短的进程就绪队列,另一个是时间片较长的进程就绪队列。那么,你认为在进程调度时应优先从哪个队列中选取一个就绪进程占有CPU?为什么?
最佳答案
  • 二级知识专家网友:迷人小乖乖
  • 2021-04-27 19:21
(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。
你认为那种方式好?
全部回答
  • 1楼网友:输掉的尊严
  • 2021-04-27 19:30
你好! 最大化利用资源,省的某进程在急需要用资源的时候还得排队等某个不怎么重要的进程先完成。 我的回答你还满意吗~~
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息