Vous êtes sur la page 1sur 3

Ecole Supérieure de Algorithmique IV

Technologie et d’Informatique Département : Informatique Appliquée

Projet II

Gestion Processus

Proposé par : Sami AMARA

Année Universitaire : 2006-2007


Ecole Supérieure de Algorithmique IV
Technologie et d’Informatique Sujet n°2 : Gestion Processus

Gestion Processus

On se propose de gérer des processus lancés par un système d’exploitation. Sachant


qu’un processus est l'abstraction d'un programme en train d'être exécuté.

Comme toutes les stratégies employées, celle qui sera adoptée dans ce présent projet
est fondées sur le principe suivant : tout processus est créé par un autre processus et il s'établit
donc une filiation de processus en processus. Généralement, on appelle processus père le
processus qui en crée un autre et processus fils le processus ainsi créé.

Puisque chaque processus fils n'a qu'un seul père, cette hiérarchie des processus peut
se traduire sous forme d'arbre. En revanche, comme un processus père peut avoir plusieurs
fils, le nombre de branches en chaque nœud de l'arbre n'est pas déterminé.

Notons que la notion de père et de fils est relative : un processus père ayant plusieurs
fils a lui-même un père et, pour ce processus père, c'est un processus fils.

Cette hiérarchie a une racine. Il s'agit le plus souvent sur un système GNU/Linux du
programme init qui est lancé par le noyau à la fin de son initialisation et a comme identifiant
PID = 1. Il va alors entre autres se charger de lancer les différents services du système qui
sont appelés démons. Un démon (francisation du terme anglais daemon) est un processus qui
est constamment en activité et fournit des services au système ou à l'extérieur. Un exemple
serait un programme de serveur web ou FTP ou bien celui gérant la restitution de sons.

Dans ce qui suit, les processus, lancés au démarrage du système d’exploitation, sont
répertoriés dans un fichier texte dont chaque ligne a la structure suivante :

num processus : PID 4 Ø

nom processus : COMMAND 10 Ø

num processus père : PPID 4 Ø

taille en nombre d’octets : MEM 6 Ø

Chaque nœud de l’arbre à créer doit informer sur les données d’un processus avec
comme autre précisions :

- Le nombre des fichiers ouverts par un processus


- Les pointeurs fichiers alloués
- Les adresses d’allocations dynamiques réservées
- La date et l’heure du lancement du processus

1/2
Ecole Supérieure de Algorithmique IV
Technologie et d’Informatique Sujet n°2 : Gestion Processus

On vous demande d’écrire un programme C qui permet de créer l’arbre au démarrage


et d’offrir les fonctionnalités suivantes :

- Lancer un nouveau processus.


- Arrêter (Tuer) un processus.
- Ouverture d’un ou plusieurs fichiers par un processus.
- Allouer dynamiquement de l’espace mémoire pour un processus.
- Compter le nombre total de fichiers ouverts par un processus et ces fils.
- Compter la taille de mémoire allouée par un processus.
- Fermer un fichier (ouvert) pour un processus.
- Libérer de l’espace mémoire pour un processus.
- Afficher l’arbre (toutes les données disponible pour chaque processus).
- Tuer tous les processus chargés depuis plus d’un temps donné.

2/2

Vous aimerez peut-être aussi