Retour
Cours précédent
Cours suivant

Processus

Espace d’adressage

Process composé de régions de mémoire non contiguës

Régions :

Accès à une adresse hors des segments attribués : Segmentation Fault

Attributs de Processus

Le noyau stocke en plus :

Création de Processus

pid_t fork()

clone le processus
espace d’adressage dupliqué

Fork retourne :

Attendre la fin d’un fils

pid_t wait(int* stat_loc);

pid_t waitpid(pid_t pid, int* stat_loc, int options);
(peux être non bloquant)

transformation de processus

un processus peux redémarrer et executer un nouveau programme

int execlp(char* file, char* arg0, ..., NULL);

ex : execl("/bin/ls", "ls", "-l", NULL);

un exec efface tout son espace d’adressage pour mettre un nouveau code à la place.
les attributs du processus sont pas effacé (ex: file descriptor table).
Ainsi les redirections d’input/output sont conservées.

Etat d’un processus

Ready -> Running -> Blocked


Retour
Cours précédent
Cours suivant