Aimeriez-vous savoir quels mécanismes de planification sont utilisés dans 15.04, en temps partagé ou en temps réel, je suis à peu près sûr de son FIFO, Round Robin, SJF?
PS: nouveau sous Linux
Aimeriez-vous savoir quels mécanismes de planification sont utilisés dans 15.04, en temps partagé ou en temps réel, je suis à peu près sûr de son FIFO, Round Robin, SJF?
PS: nouveau sous Linux
Réponses:
Planificateur de processus
Un planificateur de processus gère l'allocation des ressources CPU pour l'exécution des processus et vise à maximiser l'utilisation globale du CPU tout en maximisant les performances interactives.
Depuis le noyau 2.6.23 (ce serait à partir de Hardy 8.04 LTS) Scheduler complètement équitable (CFS) basé sur "Rotating Staircase Deadline". Aperçu de kernel.org :
CFS signifie "Completely Fair Scheduler" et est le nouveau planificateur de processus "de bureau" implémenté par Ingo Molnar et fusionné dans Linux 2.6.23. Il remplace le code d'interactivité SCHED_OTHER du programmateur vanilla précédent.
80% de la conception de CFS peut être résumée en une seule phrase: CFS modélise fondamentalement un "processeur multitâche idéal et précis" sur du matériel réel.
Le "CPU multitâche idéal" est un CPU (inexistant :-)) qui a une puissance physique de 100% et qui peut exécuter chaque tâche à une vitesse égale précise, en parallèle, chacune à une vitesse de 1 / nr_running. Par exemple: s'il y a 2 tâches en cours d'exécution, alors elles s'exécutent chacune à 50% de la puissance physique, c'est-à-dire en fait en parallèle.
Sur du matériel réel, nous ne pouvons exécuter qu'une seule tâche à la fois, nous devons donc introduire le concept de «runtime virtuel». Le runtime virtuel d'une tâche spécifie quand sa prochaine tranche de temps commencera à s'exécuter sur le CPU multitâche idéal décrit ci-dessus. Dans la pratique, le temps d'exécution virtuel d'une tâche est son temps réel d'exécution normalisé au nombre total de tâches en cours d'exécution.
Planificateur d'E / S
La planification des entrées / sorties est la méthode utilisée par le système d'exploitation pour décider dans quel ordre les opérations d'E / S de bloc seront soumises aux volumes de stockage.
Article de Phoronix sur la planification : Linux 3.16: le planificateur d' E / S à échéance mène généralement avec un SSD.
Vous pouvez modifier le planificateur d'E / S en ajoutant l'option "ascenseur =" à "GRUB_CMDLINE_LINUX_DEFAULT =" dans grub.
Il est probablement plus facile (en supposant sda et délai) de le faire comme ceci:
Pour afficher la liste des planificateurs disponibles:
cat /sys/block/sda/queue/scheduler
Et pour modifier un planificateur (peut être fait à la volée):
echo deadline > /sys/block/sda/queue/scheduler
Depuis kernel / git / torvalds / linux.git
Vous pouvez vérifier ce qui est utilisé avec (en supposant que sda est primairy):
cat /sys/block/sda/queue/scheduler