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, 14th August 2024.
|