Definition:

  • process by which the operating system determines the order of input and output operations of block storage devices.

Schedulers:

Deadline:
  • using three queues: a standard pending request queue, a read FIFO queue, and a write FIFO queue
    • the latter two are sorted by submission time and have expiration values
  • When a request is submitted, it is sorted into the standard queue and placed at the end of its read/write FIFO queue.
  • When the top request of either FIFO queue becomes older than the queue’s expiration, the scheduler stops working with the standard queue and starts servicing requests from the top of the FIFO queue—in other words, it switches to the oldest requests.
  • This ensures that the scheduler doesn’t “starve” a request for too long
Complete Fair Queuing (CFQ):
  • each process is given its own queue, and each queue has an interval by which it is accessed (its time slice).
  • The scheduler uses a round-robin system to access each queue and services requests from these queues until either their time slices or requests are exhausted.
Noop:
  • Does not sort I/O requests, but merely merges them.