Que sont les ordonnanceurs d’E/S dans Android ?


Un ordonnanceur d'E/S, en termes simples, est un processus système qui contrôle la façon dont le cpu traite et accepte les données. Il contrôle également la façon dont la mémoire est accédée et manipulée.
.
Pour android, voici quelques ordonnanceurs d'E/S :
.
-Anticipatoire
Priorise les opérations de lecture sur l'écriture. Il anticipe les opérations de lecture synchrones.
.
-BFQ
Au lieu de l'allocation de tranches de temps par CFQ, BFQ attribue des budgets. Le disque est accordé à un processus actif jusqu'à ce que son budget (nombre de secteurs) expire. BFQ attribue des budgets élevés aux tâches de non-lecture. Le budget attribué à un processus varie dans le temps en fonction de son comportement. C'est un ordonnanceur très précis.
.
-CFQ
L'ordonnanceur Completely Fair Queuing maintient une file d'attente d'entrée/sortie évolutive par processus et tente de distribuer la bande passante d'entrée/sortie disponible de manière égale entre toutes les demandes d'entrée/sortie. Chaque file d'attente par processus contient les demandes synchrones des processus. La tranche de temps allouée à chaque file d'attente dépend de la priorité du processus " parent ". Donne des performances globales.
.
-Deadline
Le but est de minimiser la latence d'E/S ou la famine d'une requête. La même chose est réalisée par une politique de round robin pour être équitable entre les multiples demandes d'E/S. Cinq files d'attente sont utilisées de manière agressive pour réorganiser les demandes entrantes. C'est un planificateur en temps réel.
.
-Noop
Insère toutes les demandes d'E/S entrantes dans une file d'attente First In First Out et met en œuvre la fusion des demandes.
.
-SIO
Le planificateur d'E/S simple vise à garder une surcharge minimale pour atteindre une faible latence pour servir les demandes d'E/S. Pas de concepts de files d'attente prioritaires, mais seulement une fusion de base. Sio est un mélange entre noop et deadline. Aucun réordonnancement ou tri des demandes ne se produit.
.
-V(R)
Contrairement aux autres ordonnanceurs, les demandes synchrones et asynchrones ne sont pas traitées séparément, au lieu de cela une date limite est imposée pour l'équité. La prochaine demande à être servie est basée sur sa distance par rapport à la dernière demande. Très instable et peu fiable.
.
.
Source pour les types d'ordonnanceurs i/o : androidcoliseum.com


.