d'accord et un processus de priorité 10 et de politique d'ordonnancement SCHED_RR est autant prioritaire qu'un processus de priorité 10 et de politique d'ordonnancement SCHED_FIFO ou les politique d’ordonnancement SCHED_FIFO sont plus prioritaire que SCHED_RR ?
Je cite (vu sur un site) :
"L’ordonnanceur gère la file SCHED_FIFO en utilisant la stratégie non préemptive. Il
choisit d’élire le processus de type SCHED_FIFO le plus prioritaire pour s’exécuter. N’étant
pas préemptible, ce processus s’exécute jusqu’à la fin sans libération du processeur"
je retrouve souvent ca, et je bug la dessus car j'ai l'impression de comprendre que le noyau laisse le processus finir sa tache peu importe qu'il y ait des processus de plus grande priorité.
tu dis :"je pense que l’idée et de dire que tant qu’aucune tâche de plus haute priorité n’est prête, la tâche ne sera pas interrompue. Même si elle passe 1h à s’exécuter" donc le problème de la politique d'ordonnancement SCHED_FIFO c'est que si j'ai deux processus de meme priorité mais avec un processus tres court en temps processeur et l'autre tres lent, alors l'ordonnanceur lance le premier (FIFO) car le processus qui est tres court peut se retrouver en second dans la file READY. Ce qui est différent avec la politique d'ordonnanceur RR qui lui aurait partagé le temps du CPU. Donc le politique SCHED_FIFO peut rendre des systèmes instables car il peut lancer pendant des heures juste un processus (dans le cas ou on a qu'un seul coeur et un seul thread processeur)?
[^] # Re: Définir non préemptif...
Posté par cosmoff . En réponse au message SCHED_FIFO et non préemptif c'est à dire. Évalué à 2. Dernière modification le 19 janvier 2018 à 13:24.
Merci pour ta réponse.
d'accord et un processus de priorité 10 et de politique d'ordonnancement SCHED_RR est autant prioritaire qu'un processus de priorité 10 et de politique d'ordonnancement SCHED_FIFO ou les politique d’ordonnancement SCHED_FIFO sont plus prioritaire que SCHED_RR ?
Je cite (vu sur un site) :
"L’ordonnanceur gère la file SCHED_FIFO en utilisant la stratégie non préemptive. Il
choisit d’élire le processus de type SCHED_FIFO le plus prioritaire pour s’exécuter. N’étant
pas préemptible, ce processus s’exécute jusqu’à la fin sans libération du processeur"
je retrouve souvent ca, et je bug la dessus car j'ai l'impression de comprendre que le noyau laisse le processus finir sa tache peu importe qu'il y ait des processus de plus grande priorité.
tu dis :"je pense que l’idée et de dire que tant qu’aucune tâche de plus haute priorité n’est prête, la tâche ne sera pas interrompue. Même si elle passe 1h à s’exécuter" donc le problème de la politique d'ordonnancement SCHED_FIFO c'est que si j'ai deux processus de meme priorité mais avec un processus tres court en temps processeur et l'autre tres lent, alors l'ordonnanceur lance le premier (FIFO) car le processus qui est tres court peut se retrouver en second dans la file READY. Ce qui est différent avec la politique d'ordonnanceur RR qui lui aurait partagé le temps du CPU. Donc le politique SCHED_FIFO peut rendre des systèmes instables car il peut lancer pendant des heures juste un processus (dans le cas ou on a qu'un seul coeur et un seul thread processeur)?