Scheduling I/O
metodo decisionale utilizzato dai sistemi operativi
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
modificaSeguono 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
modificaFra gli algoritmi di scheduling più noti troviamo:[2]
- 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:
Note
modifica- ^ Werner Fischer e Georg Schönberger, Linux Storage Stack Diagram, su thomas-krenn.com, Thomas-Krenn AG, 28 ottobre 2014. URL consultato l'8 maggio 2015.
- ^ Gestione dei buffer e I/O scheduling (PDF), su dis.uniroma1.it, MIDLAB (Middleware Laboratory) - La Sapienza. URL consultato il 25 gennaio 2015 (archiviato dall'url originale il 23 febbraio 2005).