在分析调度算法中,为什么对不同就绪队列中的进程规定使用不同长度的时间片?
问题描述:
在分析调度算法中,为什么对不同就绪队列中的进程规定使用不同长度的时间片?
答
这是因为各个就绪队列的优先级不一样,优先级越高的队列时间片长度越小,优先级越低的队列时间片越长.这样做的目的是让那些短而高优先级的作业迅速完成,而又让大的作业又能够处理完成.举个例子:
假设有3个作业同时到达CPU,需要处理,都在申请CPU资源.其中JOB1需要2个时间片,而JOB2需要100个时间片,JOB3需要1个时间片.如果各个反馈队列选取的时间片都相同(比如4个时间片),那么JOB1和JOB3因作业短回浪费掉CPU资源.而如果按优先级不同的反馈队列给予不同的时间片(比如最高优先级1个时间片,次优级2个时间片.),那么将不会有任何时间片的浪费.
你可能会问,那我把各个优先级的时间片设置为很小,那岂不是就不会浪费CPU资源了?不对,因为时间片太小,那么对于大作业需要频繁切换CPU保存现场情况,那么时间开销仍然较大,而给各个优先级不同的时间片就能解决这个问题了.
一般来说,优先级不同的反馈队列的时间片是按指数形式递增的.