CITS2002 Systems Programming  
next CITS2002 CITS2002 schedule  

Supporting Multiple Blocked States, continued

A better scheme is to maintain a queue for each possible event type. When an event occurs, its (shorter) queue is scanned more quickly:

A typical example would have one queue for processes blocked on disk-drive-1, another blocked on disk-drive-2, another blocked on the keyboard ......

Then, when an interrupt occurs, it's quick to determine which process(es) should be unblocked, and moved to Ready.


CITS2002 Systems Programming, Lecture 8, p11, 20th August 2019.