Information Technology Reference
In-Depth Information
de son créateur (système Dec Vms) ou être constitué comme un clone de celui-ci
avec le même code et les mêmes données (système Unix);
- le processus créé peut s'exécuter parallèlement à son père. Dans certains systèmes,
le processus père doit attendre la terminaison de ses fils pour pouvoir reprendre sa
propre exécution.
Exemple
Sous Linux ou Unix, l'appel système fork permet à un processus de créer un autre
processus qui est une exacte copie de lui-même au moment de l'appel. Le processus
fils hérite du code et des données de son père, hormis son identificateur. Ce code
hérité peut être modifié pour un autre code par le biais d'un appel à une des routines
systèmes de la famille exec.
Destruction de processus
La destruction d'un processus intervient :
- lorsque le processus a terminé son exécution. Dans ce cas, le processus s'autodétruit
en appelant une routine système de fin d'exécution (par exemple exit() sous Unix);
- lorsque le processus commet une erreur irrécouvrable. Dans ce cas, une trappe est
levée et le processus est terminé par le système (cf. paragraphe 11.4.2);
- lorsqu'un autre processus demande la destruction du processus, par le biais d'un
appel à une routine système telle que kill sous Unix.
Lors de la destruction d'un processus, le contexte de celui-ci est démantelé : les
ressources allouées au processus sont libérées et son bloc de contrôle est détruit.
Suspension d'exécution
La suspension d'exécution est une opération qui consiste à momentanément arrêter
l'exécution d'un processus pour la reprendre ultérieurement. Lors de l'opération de
suspension, le contexte du processus est sauvegardé dans son PCB afin de pouvoir
reprendre l'exécution, là où elle a été suspendue. Le processus suspendu passe dans
l'état bloqué. Lors de sa reprise d'exécution, le processus franchit la transition de
déblocage et entre dans l'état prêt.
Sous les systèmes Linux ou Unix, l'appel système sleep(duree) permet de suspendre
l'exécution d'un processus pour un temps égal à duree secondes.
12.1.5 Un exemple de processus : les processus Unix
Le système Unix est entièrement construit à partir de la notion de processus. Au
démarrage du système, un premier processus est créé, le processus 0. Ce processus 0
crée à son tour un autre processus, le processus 1 encore appelé processus init . Ce
processus init lit le fichier /etc/inittab et crée chacun des deux types de processus
décrits dans ce fichier : d'une part, les processus démons (dont le nom est suffixé par
un « d ») qui sont des processus système responsables d'une fonction particulière
( inetd surveille le réseau, lpd gère les imprimantes, crond gère un échéancier) et
 
 
Search WWH ::




Custom Search