I/O-schemaläggning
Input/output ( I/O ) -schemaläggning är den metod som datoroperativsystem använder för att bestämma i vilken ordning I/O- operationer ska skickas till lagringsvolymer . I/O-schemaläggning kallas ibland diskschemaläggning .
Syfte
I/O-schemaläggning måste vanligtvis fungera med hårddiskar som har långa åtkomsttider för förfrågningar som placeras långt bort från den aktuella positionen för diskhuvudet (denna operation kallas en sökning). För att minimera effekten detta har på systemets prestanda, implementerar de flesta I/O-schemaläggare en variant av hissalgoritmen som omordnar de inkommande slumpmässigt ordnade förfrågningarna så att associerade data skulle nås med minimal arm/huvudrörelse.
I/O-schemaläggare kan ha många syften beroende på målen; vanliga syften inkluderar följande
- att minimera slöseri med hårddisksökningar
- Att prioritera en viss process ' I/O-förfrågningar
- Att ge en andel av diskbandbredden till varje pågående process
- För att garantera att vissa förfrågningar kommer att utfärdas före en viss deadline
Discipliner
Vanliga schemaläggningsdiscipliner inkluderar följande:
- Slumpmässig schemaläggning (RSS)
- Först in, först ut ( FIFO ), även känd som First Come First Served (FCFS)
- Sist in, först ut ( LIFO )
- Shortest seek first , även känd som Shortest Seek / Service Time First (SSTF)
- Hissalgoritm , även känd som SCAN (inklusive dess varianter, C-SCAN, LOOK och C-LOOK)
- N-Step-SCAN SCAN av N poster åt gången
- FSCAN , N-Step-SCAN där N är lika med köstorlek vid början av SCAN-cykeln
- Helt rättvis kö (CFQ) på Linux
- Förutseende schemaläggning
- Noop schemaläggare
- Deadline schemaläggare
- mClock schemaläggare
- Schemaläggare för Budget Fair Queuing (BFQ).
- Kyber
- INGEN (används för NVM Express-enheter)
- mq-deadline (används för SSD SATA-enheter)
- cfq bfq och bfq-mq (används för hårddiskar)
Se även
- Tagged Command Queuing (TCQ)
- Native Command Queuing (NCQ)
Vidare läsning
- Linux I/O-schemaläggare , från Ubuntu Wiki
- Operativsystem: Three Easy Pieces , av Remzi H. Arpaci-Dusseau och Andrea C. Arpaci-Dusseau. Arpaci-Dusseau Books, 2014. Relevant kapitel: Hårddiskar
- Love, R. (2005). Linux Kernel Development , Novell Press. ISBN 0-672-32720-1
- Operativsystem: Internals and Design Principles, sjunde upplagan, av William Stallings.
externa länkar
- Media relaterade till I/O-schemaläggning på Wikimedia Commons