Ordonnancement d'E/S
# 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

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

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

* 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
