15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.
Ang scheduler mopili sa runnable task nga hatagan og turno. Imodelo ang round-robin gamit ang queue. Matag task mokonsumo og usa ka unit ug mobalik kon adunay nahibilin. Walay interrupt, context switch, o tinuod nga parallel execution niini nga modelo.
Praktis ug ebidensiya: Sunda ang A=2 ug B=1, idugang ang empty task, ug itakda kon mosulod ba kini sa runnable queue. Sulayi ang fairness pinaagi sa execution order.
from collections import deque
ready=deque([("A",2),("B",1)])
order=[]
while ready:
name,left=ready.popleft()
order.append(name)
if left>1: ready.append((name,left-1))
print(" ".join(order))
Gipaabot nga resulta: A B A
Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.