Chapitre 3 SE

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 6

Système d’exploitation-Gestion des processus

Chapitre 3 : Gestion des processus

Objectifs :
 Connaître la notion de processus,
 Connaître les caractéristiques d’un processus ainsi que son contexte
 Connaître la notion d’interruptions et de ressources
 Comprendre les différents états d’un processus.

Eléments de contenu :
1. Notion de processus
2. Bloc de contrôle d’un processus
3. Les interruptions
4. Les ressources
5. Cycle de vie d’un processus
6. Ordonnancement

3.1 Notion de processus


Définition 1 : Un processus est une entité dynamique qui matérialise un programme en cours
d'exécution avec ses propres ressources physiques (mémoire, processeur, entrée/sortie, …) et
logiques (données, variables, …).

Définition 2 : un processus est l’entité crée par le S.E pour l’exécution d’un programme.
Chaque fois qu’on lance un programme, un processus est créé durant l’exécution de durant
l’exécution du programme.

Attention : ne pas confondre un processus (aspect dynamique, exécution qui peut être
suspendue, puis reprise), avec le texte d’un programme exécutable (aspect statique).

Le système d’exploitation manipule deux types de processus :

 Processus système : processus lancé par le système (init processus père des tous les
processus du système)
 Processus utilisateur : processus lancée par l’utilisateur (commande utilisateur)

Dès sa création, un processus reçoit les paramètres suivants :

- PID : identificateur du processus (numéro unique)


- PPID : identificateur du processus père
- UID : identificateur de l’utilisateur qui a lancé le processus
- GID : identificateur du groupe de l’utilisateur qui a lancé le processus
 Il existe des appels système permettant de créer un processus, charger son contexte et
lancer son exécution (fork, exec sous Unix).
1
Système d’exploitation-Gestion des processus

 Un processus peut (père) créer d’autres processus (fils) qui hérite les descripteurs de
son père. Ce dernier à son tour crée d’autres processus. Un processus a un seul père
mais peut avoir plusieurs fils
 Les processus peuvent se terminer ou ils peuvent être éliminés par d’autres processus
(la primitive kill). A la destruction d’un processus, on libère toutes les ressources
qu’il avait.
 Dans certains cas, la destruction d’un processus entraîne l’élimination de ces
descendants ; cette opération n’affecte pas les processus qui peuvent continuer
indépendamment de leur père (processus orphelins).

Les appels relatifs aux processus permettent généralement d’effectuer au moins les actions
suivantes :

- Création d’un processus (fils) par un processus actif (d’où la structure d’arbre de
processus gérés par un SE)
- Destruction d’un processus
- Suspension et reprise d’un processus, grâce à l’Ordonnanceur de processus
- Demande de mémoire supplémentaire ou restitution de mémoire inutilisée
- Attendre la fin d’un processus fils
- Remplacer son propre code avec d’autres processus
- Echanges de messages avec d’autres processus
- Spécification d’actions à entreprendre en fonction d’événements extérieurs
asynchrones
- Modifier la priorité d’un processus

Les fonctionnalités du système d’exploitation en matière de gestion de processus sont :

- La création, suppression et interruption de processus


- L'ordonnancement des processus afin de décider l’ordre d'exécution équitable entre
les utilisateurs tout en privilégiant les processus du système.
- La synchronisation entre les processus ainsi que la communication
- La gestion des conflits d'accès aux ressources partagées
- La protection des processus d'un utilisateur contre les actions d'un autre utilisateur.

3.2 Bloc de contrôle d’un processus (BCP)


Est une structure de sauvegarde du contexte d’exécution d’un processus (UNIX : « U-
Structure »). Il comprend généralement :

- l’état du processus : prêt à être exécuté, en attente, suspendu, ...


- des informations sur les ressources utilisées
- mémoire principale
- temps d'exécution
- périphériques d'E/S en attente
- files d'attente dans lesquelles le processus est inclus, etc...
- et toutes les informations nécessaires pour assurer la reprise du processus en cas
d'interruption

2
Système d’exploitation-Gestion des processus

Les BCP sont rangés dans une table en mémoire centrale à cause de leur manipulation
fréquente.

3.3 Les interruptions


L’interruption est provoqué par un signal généré sur occurrence d’un évènement qui peut être
interne (lié au processus) ou externe et indépendant.
Les cases de figure où un processus peut être interrompu :
 interruptions externes au processus : panne, intervention de l’utilisateur (frappe au
clavier).
 Interruptions internes au processus qui proviennent de lui et qui peuvent être de 2
types :
o Déroutements qui sont des interruptions causées par des situations
exceptionnelles généralement des erreurs : division par zéro, débordement de
la mémoire, exécution d’une instruction non autorisés.
o Appels systèmes : quand une instruction effectue un appel système.

Chaque niveau d'interruption est affecté d'une priorité différente. En effet si deux niveaux
étaient activés simultanément il se produirait un conflit. Le système d'exploitation le résout en
traitant l'interruption la plus prioritaire. Ainsi l'activité qui a pour mission de contrôler la
présence de la tension d'alimentation - elle n'existe pas dans toutes les machines - et de
basculer le fonctionnement sur des batteries de sauvegarde doit être la plus prioritaire.
Lorsqu'elle détecte une variation anormale de la tension, elle arrête immédiatement tout
fonctionnement et commute l'alimentation électrique. Par convention le niveau de priorité le
plus élevé est 0. La priorité décroît lorsque sa valeur augmente.

3.4 Les ressources


On appelle ressource tout ce qui est nécessaire à l’avancement d’un processus (continuation
ou progression de l’exécution) : processeur, mémoire, périphérique, bus, réseau, compilateur,
fichier, message d’un autre processus, etc…un défaut de ressource peut provoquer la mise en
attente d’un processus.

Un processus demande au SE l’accès à une ressource. Certaines demandes sont implicites ou


permanentes (la ressource processeur). Le S.E alloue une ressource à un processus. Une fois
une ressource allouée, le processus a le droit de l’utiliser jusqu’à ce que le SE reprenne la
ressource.

On dit qu’une ressource est en mode d’accès exclusif si elle ne peut être allouée à plus un
processeur à la fois. Sinon, on parle de mode d’accès partagé. Un processus possédant une
ressource peut dans certains cas en modifier le mode d’accès.

Exemple : un disque est une ressource à accès exclusif (un seul accès simultané), une zone
mémoire peut être partagée.

3
Système d’exploitation-Gestion des processus

3.5 Cycle de vie d’un processus

Figure 1: cycle de vie d'un processus

 Nouveau : Le processus vient d’être créé.


 Prêt : le processus est placé dans la file d’attente des processus prêts, en attente
d’affectation du processeur.
 En exécution : le processus a été affecté à un processeur libre. Ses instructions sont en
exécution.
 En attente : Le processus attend qu’un événement se produise, comme l’achèvement
d’une opération d’E/S ou la réception d’un signal.
 Terminé : le processus a terminé son exécution.

Transitions des états d’un processus


1) en exécution → en attente : a lieu quand le processus ne peut plus poursuivre son exécution
car il a besoin d'une ressource non disponible.
2) en exécution → prêt : a lieu quand le processus a terminé le temps imparti par le système
d'exploitation pour son exécution.
Remarque: Un processus ne s'exécute pas forcément jusqu'à la fin car le système
d'exploitation a d'autres processus à exécuter. Cette transition a également lieu si un processus
plus urgent doit prendre la main (par exemple processus du système d'exploitation)
3) prêt → en exécution : signale que le système d'exploitation a sélectionné un processus pour
l'exécuter.
4) en exécution → Terminé : indique que le processus a fini son exécution.
5) En attente → prêt: a lieu lorsque le processus n'a plus de raison d'être bloqué; par exemple
les données deviennent disponibles. Le processus passe à l'état prêt.

4
Système d’exploitation-Gestion des processus

3.6 Ordonnancement
On appelle ordonnancement la stratégie d’attribution des ressources aux processus qui en font
la demande. Différents critères peuvent être pris en compte :

- Temps moyen d’exécution minimal


- Temps de réponse borné pour les systèmes interactifs
- Taux d’utilisation élevé de l’UC
- Respect de la date d’exécution au plus tard, pour le temps réel

5
Système d’exploitation-Gestion des processus

Bibliographie

Système d’exploitation1/chapitre 2 : la gestion des processus, Préparé par Amine DHRAIEF


Révisé par Chiheb-Eddine Ben N’Cir, Université de Manouba

http://www-int.impmc.upmc.fr/public/Enseignement/ye/informatique/systemes/chap2/22.html

Vous aimerez peut-être aussi