Ordonnancement d'E/S
Linux Storage Stack Diagram Linux Storage Stack Diagram
L'ordonnancement d'E/S (pour Entrée/Sortie) est le terme utilisé pour décrire la méthode qu'un système d'exploitation utilise pour décider de l'ordre dans lequel les opérations d'E/S seront transmises aux disques. L'ordonnancement d'E/S est parfois appelé 'ordonnancement de disque'.
But
[modifier | modifier le code]Les ordonnanceurs d'E/S peuvent avoir divers buts dépendant de l'objectif recherché par l'ordonnancement d'E/S. Les objectifs courants sont :
- minimiser la perte de temps due aux déplacements des têtes des disques durs;
- rendre prioritaires les requêtes d'E/S de certains processus;
- partager équitablement entre chaque processus la bande passante disponible des disques;
- garantir que certaines opérations d'E/S seront exécutées avant une certaine échéance;
Implémentation
[modifier | modifier le code]L'ordonnancement d'E/S est généralement associé aux disques durs qui possèdent de longs temps d'accès pour les requêtes nécessitant un grand déplacement de la tête du disque. Pour minimiser l'effet de cette propriété sur les performances du système, la plupart des ordonnanceurs d'E/S implémentent un algorithme qui réorganise les requêtes d'E/S à traiter pour les exécuter dans l'ordre dans lequel les données seront accessibles sur le disque.
Principaux ordonnancements d'E/S
[modifier | modifier le code]- Random Scheduling (RSS)
- First In, First Out (FIFO)
- Last In, First Out (LIFO)
- Shortest seek first
- Elevator algorithm, ou SCAN
- Completely Fair Queuing (CFQ)
- Anticipatory scheduling
Voir aussi
[modifier | modifier le code]- Tagged Command Queuing (TCQ)
- Native Command Queuing (NCQ)
Références
[modifier | modifier le code]- (en) Love, R. (2005). Linux Kernel Development, Novell Press. (ISBN 0-672-32720-1)
- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « I/O Scheduling » (voir la liste des auteurs).