Quand on dit que l’ordonnanceur est préemptif, ça veut dire qu’il peut interrompre une tâche s’il le veut... ou la laisser tourner s’il le veut.
C’est en opposition à l’ordonnanceur coopératif, ou il faut appeler une fonction spéciale pour être reschedulé, ou certaines fonction de l’OS le font d’eux même.
L’ordonnanceur à beau être préemptif (capable de préempté la tâche) si tu lui dit explicitement de la laisser tourner, il va le faire. Temps qu’on utilise l’ordonnanceur en temps partagé, tous les thread auront à un moment du temps CPU. En mode Temps Réel, c’est différent. Ce n’est pas à utiliser à la légère. Par exemple, malgré un aspect temps réel sur l’affichage de page internet, et comme ce n’est pas critique, les navigateur web utilise les priorités standard. Ça suffit la plupart du temps, et quand ça suffit pas, ce n’est pas grave.
Imagine que firefox, utilise des threads temps réel pour rendre une page... et que celle-ci prennent du temps à cause de sa complexité, son javascript... tout ton système serait à la ramasse. C’est pour ça que ce n’est pas utilisé comme ça. C’est moins grave que ça lague un peu, plutôt que ça bloque le système.
Je ne sais pas ce que tu veux faire, tu ne précises rien. Mais réfléchie bien à si tu en as vraiment besoin... après, si c’est juste des TPs pour appréhender les concepts, alors continue, il n’y a rien de mieux que de ce prendre les pieds dans le tapis pour comprendre qu’il faut les lever ;-)
[^] # Re: Définir non préemptif...
Posté par Anthony Jaguenaud . En réponse au message SCHED_FIFO et non préemptif c'est à dire. Évalué à 3.
Quand on dit que l’ordonnanceur est préemptif, ça veut dire qu’il peut interrompre une tâche s’il le veut... ou la laisser tourner s’il le veut.
C’est en opposition à l’ordonnanceur coopératif, ou il faut appeler une fonction spéciale pour être reschedulé, ou certaines fonction de l’OS le font d’eux même.
L’ordonnanceur à beau être préemptif (capable de préempté la tâche) si tu lui dit explicitement de la laisser tourner, il va le faire. Temps qu’on utilise l’ordonnanceur en temps partagé, tous les thread auront à un moment du temps CPU. En mode Temps Réel, c’est différent. Ce n’est pas à utiliser à la légère. Par exemple, malgré un aspect temps réel sur l’affichage de page internet, et comme ce n’est pas critique, les navigateur web utilise les priorités standard. Ça suffit la plupart du temps, et quand ça suffit pas, ce n’est pas grave.
Imagine que firefox, utilise des threads temps réel pour rendre une page... et que celle-ci prennent du temps à cause de sa complexité, son javascript... tout ton système serait à la ramasse. C’est pour ça que ce n’est pas utilisé comme ça. C’est moins grave que ça lague un peu, plutôt que ça bloque le système.
Je ne sais pas ce que tu veux faire, tu ne précises rien. Mais réfléchie bien à si tu en as vraiment besoin... après, si c’est juste des TPs pour appréhender les concepts, alors continue, il n’y a rien de mieux que de ce prendre les pieds dans le tapis pour comprendre qu’il faut les lever ;-)