Ordonnanceur et modes d'exécution

Ordonnanceur et modes d'exécution - Divers - Programmation

Marsh Posté le 02-06-2008 à 19:09:45    

Je poste ici, car je pense que c'est le meilleur endroit pour trouver les réponses à mes questions. :jap:
 
L'ordonnanceur gère le roulement des processus vis-à-vis de l'utilisation du CPU (qui ne peut traiter qu'une instruction à la fois).
 
Hypothèses :
1) L'ordonnanceur un processus du noyau
2) L'ordonnanceur s'exécute exclusivement en mode noyau
 
J'ai deux questions :
 
1) Comment le processus ordonnanceur est-il géré pour accéder au processeur ? S'inclut-il lui-même dans la liste des processus à faire tourner sur le processeur ? Dans ce cas, comment la liste des processus à faire tourner est-elle mise à jour ?
Ou est-il ponctuellement appelé, par exemple lors d'une interruption ou d'un appel système ? Ou est-ce systématique, à chaque fois qu'un processus rend la main (fin de son quantum de temps) ?
 
2) Plus généralement, l'ordonnanceur étant (a priori) assez souvent appelé, il y a fréquemment de couteux changements de contexte (puisque l'ordonnanceur s'exécute en mode noyau, alors que les autres processus s'exécute en mode utilisateur). Qu'en est-il des performances ?
 
(processus élu 1 => ordonnanceur => processus élu 2 => ordonnanceur => ...)
 
Je ne parviens à trouver de réponses à ces questions. :(
 
Merci pour votre aide ! :jap:

Message cité 1 fois
Message édité par Titprem le 02-06-2008 à 19:14:17

---------------
Pas de signature.
Reply

Marsh Posté le 02-06-2008 à 19:09:45   

Reply

Marsh Posté le 07-06-2008 à 13:52:23    

Titprem a écrit :

Je poste ici, car je pense que c'est le meilleur endroit pour trouver les réponses à mes questions. :jap:
 
L'ordonnanceur gère le roulement des processus vis-à-vis de l'utilisation du CPU (qui ne peut traiter qu'une instruction à la fois).
 
Hypothèses :
1) L'ordonnanceur un processus du noyau
2) L'ordonnanceur s'exécute exclusivement en mode noyau
 
J'ai deux questions :
 
1) Comment le processus ordonnanceur est-il géré pour accéder au processeur ? S'inclut-il lui-même dans la liste des processus à faire tourner sur le processeur ? Dans ce cas, comment la liste des processus à faire tourner est-elle mise à jour ?
Ou est-il ponctuellement appelé, par exemple lors d'une interruption ou d'un appel système ? Ou est-ce systématique, à chaque fois qu'un processus rend la main (fin de son quantum de temps) ?
 
2) Plus généralement, l'ordonnanceur étant (a priori) assez souvent appelé, il y a fréquemment de couteux changements de contexte (puisque l'ordonnanceur s'exécute en mode noyau, alors que les autres processus s'exécute en mode utilisateur). Qu'en est-il des performances ?
 
(processus élu 1 => ordonnanceur => processus élu 2 => ordonnanceur => ...)
 
Je ne parviens à trouver de réponses à ces questions. :(
 
Merci pour votre aide ! :jap:


 
google par exmple.
user.it.uu.se/~yi/courses/grad/fulltext.pdf
http://en.wikipedia.org/wiki/Preemptive_multitasking
 
1°/ Ça dépend de comment ton noyau est conçus.
2°/ En même temps c'est soit ça soit faire du mono-tâche en gros.


---------------
You can't start a fire with moonlight
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed