Scheduling I/O

Lo scheduling I/O ("scheduling di input/output") è il metodo che i sistemi operativi utilizzano per decidere in quale ordine le operazioni di I/O richieste devono essere sottoposte al volume di immagazzinamento. Talvolta viene indicato con l'espressione disk scheduling.
Scopo
Seguono alcuni dei compiti principali dello scheduler I/O:
- minimizzare il seek time, ovvero il tempo per posizionare la testina sulla traccia corretta;
- dare priorità alle richieste di I/O di certi processi;
- garantire equità, ovvero assicurarsi che il disco disponga di una banda per ciascun processo ed evitare il fenomeno di starvation.
Algoritmi
Fra gli algoritmi di scheduling più noti troviamo:
- FCFS
- Code di priorità
- LIFO
- Shortest seek first (SSF), o shortest seek time first (SSTF)
- Algoritmo dell'ascensore (elevator algorithm), noto anche come SCAN, e le sue varianti:
- C-SCAN
- FSCAN
- N-Step-SCAN