Les processus sous Unix

Qu’est-ce qu’un processus?

• Processus = unité d’exécution (unité de partage du temps processeur et de la mémoire)
• Processus ≠Programme :
–un programme peut être exécuté plusieurs fois et se trouver dans plusieurs unités d’exécution en même temps
–le processus doit connaître à chaque instant
»le code du programme
»le pointeur d’instruction
»l’état de la pile
»les variables
–on peut conserver un processus en changeant le code qu’il exécute

Les différents états d’un processus

• Un processus peut être dans 3 états possibles :
–élu (en cours d’exécution) processus OK, processeur OK
–prêt (suspendu provisoirement pour qu’un autre processus s’exécute) processus OK, processeur occupé
–bloqué (attendant un événement extérieur pour continuer) processus non OK, même si processeur OK

Ordonnancement des processus

• Plusieurs processus sont prêts à être exécutés
• Le SE doit faire un choix … (algorithme d ’ordonnancement) :
–équité : chaque processus doit avoir du temps processeur
–efficacité : le processeur doit être utilisé à 100%
–temps de réponse : l ’utilisateur devant sa machine ne doit pas trop attendre
–temps d’exécution : une séquence d’instructions ne doit pas trop durer
–rendement : il faut faire le plus de choses en une heure
• Ordonnancement sans réquisition: un processus est exécuté jusqu’à la fin
–inefficace et dangereux (ex: exécution d’une boucle sans fin…)
• Ordonnancement avec réquisition :
–à chaque signal d ’horloge, le SE reprend la main, décide si le processus courant a consommé son quota de temps machine et alloue
éventuellement le processeur à un autre processus
–il existe de nombreux algorithmes d’ordonnancement avec réquisition

Ordonnancement circulaire (tourniquet)

• Chaque processus possède un quantum d’exécution
–Si le processus a fini dans cet intervalle : au suivant !
–S’il n’a pas fini : le processus passe en fin de liste et au suivant !
• Problème = réglage du quantum :
–quantum trop petit / commutation (= temps de passage d’un processus à l’autre) : le processeur passe son temps à commuter
–quantum trop grand : augmentation du temps de réponse d’une commande (même simple)
–réglage correct: Quantum/commutation = 5

Ordonnancement avec priorité

• Inconvénient du tourniquet = processus de même priorité
• Ordonnancement avec priorité :
–plusieurs files d’attente plus ou moins prioritaires
–la priorité d’un processus décroît au cours du temps pour ne pas bloquer les autres files d’attente

Ordonnancement «plus court d’abord»

• Les algorithmes précédents marchent bien pour les processus interactifs.
• Ordonnancement «plus court d’abord» :
–estimation de la durée de chaque processus en attente
–exécuter le processus le plus court

..

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Les processus Unix (231 KO) (Cours PDF)
Les processus Unix

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *