0% ont trouvé ce document utile (0 vote)
0 vues29 pages

Cours Processus

Un processus est un programme en cours d'exécution nécessitant de la mémoire et d'autres ressources. Les systèmes d'exploitation, comme Linux, gèrent les processus via des états (élu, bloqué, prêt, terminé) et un ordonnanceur qui détermine l'ordre d'exécution. Les ressources peuvent être partagées ou exclusives, et des situations d'interblocage peuvent survenir lorsque des processus attendent indéfiniment des ressources détenues par d'autres.

Transféré par

mchsirene
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
0 vues29 pages

Cours Processus

Un processus est un programme en cours d'exécution nécessitant de la mémoire et d'autres ressources. Les systèmes d'exploitation, comme Linux, gèrent les processus via des états (élu, bloqué, prêt, terminé) et un ordonnanceur qui détermine l'ordre d'exécution. Les ressources peuvent être partagées ou exclusives, et des situations d'interblocage peuvent survenir lorsque des processus attendent indéfiniment des ressources détenues par d'autres.

Transféré par

mchsirene
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

C3 Processus

Définition
Un processus est un programme en cours d'exécution.

Remarques
Pour être exécuté, un processus à besoin:
✔ Un espace mémoire pour les données de travail
✔ D'autres ressources, comme des descripteurs de
fichiers, des ports réseau, etc.
C3 Processu
ss
Définition
Un processus est un programme en cours d’execution.

Remarques
Sur un système de type Linux, la commande ps permet de lister les
processus actifs, la commande htop permet d’en avoir une vue
dynamique. Ces commandes affichent notamment un numéro appelé
PID (pour Process IDentifier) qui identifie de façon unique chaque
processus.
Les ressources de l’ordinateur ne peuvent pas être utilisées de
façon simultanée par les nombreux processus. Le temps
d’utilisation de ces ressources est donc partagé en intervalle
très courts et attribués aux processus par une partie spécifique
de l’OS : l'ordonnanceur.
C3 Processu
s
Création d’un processus
Le schéma de la création des processus de base sous Linux
lors du lancement du système
C3 Processu
s
Création d’un processus
Un processus peut créer un ou plusieurs processus
Processus A a créé processus B.
A est le père de B et B est le fils de A
Processus B a créé Processus C
B est le père de C et C est le fils de B
Qui a créé le premier processus?
🡪 Sous Linux, au moment du démarrage de l'ordinateur un
tout premier processus (appelé processus 0 ou encore
Swapper) est créé à partir de "rien"
🡪 Ensuite, ce processus 0 crée un processus souvent appelé
"init"
🡪 Puis d'autres processus sont créés à partir de "init" ("crond",
C3 Processu
s
Quelques commandes
Tout processus possède un numéro unique permettant de l’identifier : le
PID.

Les processus (sauf le processus initial de PID 0) ont aussi un PPID qui est
le PID de leur processus parent.
Plusieurs commandes permettent de visualiser les processus :
ps pour avoir une vue instantanée des processus,
pstree pour avoir une vue hiérarchisée des
processus, top pour avoir une vue dynamique des
processus.
La commande kill permet de mettre fin à un processus.
C3 Processu
Etats sd’un processus
Les systèmes d’exploitation gèrent l’exécution « simultanée »de plusieurs
processus en leur attribuant différents états :
élu : le processus est en train de s’exécuter (il utilise le cPU).
bloqué : le processus était dans l’état élu, mais il attend une
ressource qui n’est pas disponible.
prêt : le processus a obtenu la ressource qu’il attendait.
terminé : le processus a terminé son exécution.

Remarqu
es Quand un processus passe d'un état "élu" à un état "bloqué", un autre
processus peut alors "prendre sa place" et passer dans l'état "élu".
Un processus qui quitte l'état bloqué ne repasse pas forcément à l'état
"élu", il peut, en attendant que "la place se libère" passer dans l'état
"prêt”.
Un processus qui utilise une ressource doit la "libérer" une fois qu'il a fini
de l'utiliser afin de la rendre disponible pour les autres processus.
C3 Processu
s

Schéma : états des


processus Prêt Bloqué

Elu

Termin
é
C3 Processu
s

Schéma : états des


processus Prêt Bloqué

Election

Elu

Termin
é
C3 Processu
s

Schéma : états des


processus Prêt Bloqué

Election

Ressource non
disponible

Elu

Terminé
C3 Processu
s

Schéma : états des


processus Prêt Bloqué

Election

Ressource non
disponible

Elu

Fin d’exécution

Terminé
C3 Processu
s

Schéma : états des


processus Prêt Ressource
Bloqué
attribuée

Election

Ressource non
disponible

Elu

Fin d’exécution

Terminé
C3 Processus
Définition
L’ ordonnanceur (scheduler en anglais) est la partie du système
d’exploitation qui choisit l’ordre d’exécution des processus. Parmi les
algorithmes d’ordonnancement possibles, on peut citer :
le tourniquet : le temps cPU est affectée à chaque processus à tour de
rôle
le premier entré, premier sorti, (fIfO, pour first in first out) : c’est le
principe d’une file d’attente.
le plus court d’abord : il faut évaluer le temps d’execution des
processus.
Shortest remaining time (le plus petit temps de séjour): A chaque
fois qu’il ya plusieurs processus en attente, celui qui la durée
restante la plus petite qui sera sélectionné.
La mise en place d’un ordre de priorité entre les processus.
C3 Processu
s
Remarques
L’exemple typique de la méthode fIfO, est la gestion de la file
d’attente d’une imprimante.
Sur un système de type Linux, la commande nice permet
d’attribuer un ordre de priorité à un processus de −20 (le plus
prioritaire) à 19 (le moins prioritaire).
C3 Processu
s
Applications
Considérons cinq processus notés A, B, C, D et E, dont les temps
d’exécution et leurs arrivages respectifs sont donnés dans le
tableau ci-contre.
C3 Processu
s
Application
1
Algorithme “Premier arrivé premier servi” :
First-Come First-Served (FCFS)

Algorithme “Le plus court d’abord” : Short


Job First (SJF)
C3 Processu
s
Applications
Soient deux processus A et B prêts tels que A est arrivé en premier
suivi de B, 2 unités de temps après. Les temps CPU nécessaires
pour l’exécution des processus A et B sont respectivement 15 et 4
unités de temps.
C3 Processu
s
Application
1
Algorithme du plus petit temps de séjour : Shortest
Remaining Time (SRT)

Algorithme du tourniquet circulaire : Round Robin


(quantum = 10 unités de temps)

Algorithme du tourniquet circulaire : Round Robin (quantum = 3


unités de temps)
C3 Processus

Ressources
Les ressources peuvent être attribuées aux processus de façon :
partagée c’est à dire que la ressource peut être utilisée de façon
simultanée par plusieurs processus. Par exemple, un fichier dans lequel
on souhaite seulement lire des informations est une ressource partagée.
exclusive c’est à dire que la ressource est verrouillée et attribuée à un
unique processus. Par exemple, une imprimante est une ressource
attribuée de façon exclusive.
C3 Processus

Ressources
Les ressources peuvent être attribuées aux processus de façon :
partagée c’est à dire que la ressource peut être utilisé de façon
simultanée par plusieurs processus. Par exemple, un fichier dans lequel
on souhaite seulement lire des informations est une ressource partagée.
exclusive c’est à dire que la ressource est vérouillée et attribuée à un
unique processus. Par exemple, une imprimante est une ressource
attribuée de façon exclusive.

Interblocage
On se trouve dans une situation d’interblocage (en anglais deadlock ),
lorsque des ressources exclusives requises par des processus sont utilisées
par d’autres qui attendent eux mêmes des ressources utilisées par les
premiers.
C3 Processu
s

Illustration d’une situation


d’interblocage
Ressource ✁

✂ ,
R1

Processus P1 Processus P2

✄ ,
Ressource ✁

R2
C3 Processu
s

Illustration d’une situation


d’interblocage
Ressource ✁

✂ ,
R1

Processus P1 Processus P2

Attend la ✄ ,
Ressource ✁

R2
C3 Processu
s

Illustration d’une situation


d’interblocage
Ressource ✁

✂ ,
R1

Processus P1 Processus P2

attribuée
Attend la ✄ , au
Ressource ✁

R2
C3 Processu
s

Illustration d’une situation


d’interblocage
Ressource ✁

✂ , Attend la
R1

Processus P1 Processus P2

attribuée
Attend la ✄ , au
Ressource ✁

R2
C3 Processu
s

Illustration d’une situation


d’interblocage
Ressource ✁

✂ , Attend la
attribuée R1
au

Processus P1 Processus P2

attribuée
Attend la ✄ , au
Ressource ✁

R2
C3 Processu
s
Exemple d’une situation d’inter-blocage
Soit un robot qui a trois ressources:
✔ Des moteurs qui lui permettent de se déplacer
✔ Une liaison wifi qui lui permet de communiquer
✔ Une caméra qui filme son environnement
Ce robot a trois processus que l'on notera P1, P2 et P3 :
✔ P1 est le pilotage manuel qui reçoit les ordres par le
wifi et opère les moteurs
✔ P2 envoie le flux vidéo via la liaison wifi
✔ P3 est le processus qui fait un autotest matériel, hors
liaison wifi
C3 Processu
s
Exemple d’une situation d’inter-blocage
Le robot effectue les 3 taches en parallèle. Cela peut se
résumer dans le tableau suivant
C3 Processu
s
Exemple d’une situation d’inter-blocage
Cette séquence d'instruction peut se dérouler
parfaitement bien, mais on peut arriver à une situation
d'interblocage par un cycle.
Etape 1:
• P1 demande la ressource R1, disponible, et la bloque
• P2 demande la ressource R2, disponible, et la bloque
• P3 demande la ressource R3, disponible et la bloque
Etape 2
• P1 demande R2 mais doit attendre que P2 la libère.
• P2 demande R3, qui est bloquée par P3
• P3 demande R1 qui est bloqué par P1
C3 Processu
s
Exemple d’une situation d’inter-blocage
La boucle est bouclée. On arrive à une situation
correspondant à la figure ci dessous, ou chaque
processus a bloqué la ressource associée par un trait
plein et attend la ressource à laquelle il est relié par des
pointillés. On est bloqué dans une boucle infernale.
C3 Processu
s
Exemple d’une situation d’inter-blocage

Vous aimerez peut-être aussi