Scheduler na may nasusuring ayos

15-minutong sesyon: magbasa nang 3 minuto, mag-trace nang 3, mag-eksperimento nang 7, at sagutan ang check nang 2. Maglaan ng dagdag na oras kung kailangan.

Pumipili ang scheduler kung aling runnable task ang magkakaroon ng turn. Imodelo ang round-robin gamit ang queue. Bawat task ay kumokonsumo ng isang unit bago bumalik kung may natitira. Walang interrupt, context switch, o tunay na parallel execution sa modelong ito.

Pagsasanay at ebidensiya: Sundan ang A=2 at B=1, magdagdag ng empty task, at itakda kung dapat itong pumasok sa runnable queue. Subukan ang fairness 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))

Inaasahang resulta: A B A

Pagsasanay at ebidensiya

Itala ang hula, aktuwal na resulta, at dahilan ng pagtugma o pagkakaiba. Sinusukat ng completion check ang pag-unawa; hinahasa ng practice task ang kasanayan.

Sanggunian sa wika: git.agilaos.com

Sanggunian sa wika: git.agilaos.com