I/O scheduling

For process scheduling, see Scheduling (computing). For process management, see Process management (computing).
The position of I/O schedulers within various layers of the Linux kernel's storage stack.[1]

Input/output (I/O) scheduling is the method that computer operating systems use to decide in which order the block I/O operations will be submitted to storage volumes. I/O scheduling is sometimes called disk scheduling.

I/O scheduling usually has to work with hard disk drives that have long access times for requests placed far away from the current position of the disk head (this operation is called a seek). To minimize the effect this has on system performance, most I/O schedulers implement a variant of the elevator algorithm that reorders the incoming randomly ordered requests so the associated data would be accessed with minimal arm/head movement.

I/O schedulers can have many purposes depending on the goals; common purposes include the following:

Common scheduling disciplines include the following:

See also

References

  1. Werner Fischer; Georg Schönberger (2015-06-01). "Linux Storage Stack Diagram". Thomas-Krenn.AG. Retrieved 2015-06-08.
  2. "mClock: Handling Throughput Variability for Hypervisor IO Scheduling". VMware Inc. Retrieved 2015-07-12.

Further reading

This article is issued from Wikipedia - version of the Saturday, February 27, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.