操作系统-时间片轮转调度算法

基本概念

时间片轮转法(Round-Robin,RR)主要用于分时系统中的进程调度。为了实现轮转调度,系统把所有就绪进程按先入先出的原则排成一个队列。新来的进程加到就绪队列末尾。每当执行进程调度时,进程调度程序总是选出就绪队列的队首进程,让它在CPU上运行一个时间片的时间。时间片是一个小的时间单位,通常为10~100ms数量级。当进程用完分给它的时间片后,系统的计时器发出时钟中断,调度程序便停止该进程的运行,把它放入就绪队列的末尾;然后,把CPU分给就绪队列的队首进程,同样也让它运行一个时间片,如此往复。

例题

  1. 完成表格
进程 到达时间 服务时间 完成时间 周转时间 带权周转时间
A 0 3
B 2 6
C 4 4
D 6 5
E 8 2

解析:
进程处理的流程(P=1) :

		0.A	  CPU服务A		
		1.A	  CPU服务A		
		2.BA  当A执行完毕后被被放入队列的末尾,队列变成BA,CPU服务B
		3.AB  B执行完毕被放入末尾,队列变成AB,CPU服务A
		4.BC  A经过三次服务,处理完成。进程C进入队列并放在队尾,CPU服务B
		5.CB  B执行完毕被放入末尾,队列变成CB,CPU服务C
		6.BDC D进入队列放入队尾即B的后面,当C执行完毕后被放入末尾,队列变成BDC,CPU服务B
		7.DCB 接下来的服务以此类推
		8.CBED
		9.BEDC
		10.EDCB
		11.DCBE
		12.CBED
		13.BEDC
		14.EDCB
		15.DCB
		16.CBD
		17.BD
		18.D
		19.D

注:周转时间 = 完成时刻 - 进入系统时刻
带权周转时间 = 周转时间 / 所需服务时间

进程 到达时间 服务时间 完成时间 周转时间 带权周转时间
A 0 3 4 4 1.33
B 2 6 18 16 2.67
C 4 4 17 13 3.25
D 6 5 20 14 2.80
E 8 2 15 7 3.50

你可能感兴趣的:(操作系统-轮转调度,操作系统)