Vous êtes sur la page 1sur 2

TP : Gestion des processus

---fork--
EXERCICE 1:
Y a-t-il une différence entre un programme et un processus ?
Quel sont les éléments/composants d’un processus
C’est quoi un PCB et c’est quoi son contenu ?
Quel ce qu’un processus Orphelin ou un processus Zombie ?
Quel est la commande linux permettant d’afficher les processus qui consomment plus de ressources ?

EXERCICE 2:
Pour chaque programme, quel sera le résultat et son schéma d’exécution.
Q1)
#include<stdio.h>
#include<unistd.h>
int main(){
int pid ,x=0;
pid=fork() ;
if(pid==0){
printf("Je suis le fils : x=%d\n", --x) ;
return 0 ;
}
printf("Je suis le père : x = %d\n",++x) ;
return 0 ;}

Q2)
#include<stdio.h>
#include<unistd.h>
int main(){
fork();
fork();
puts("bonjour");
return 0 ;}
Q3)
#include<stdio.h>
#include<unistd.h>
int main(){
puts("AA");
fork();
puts("BB");
fork();
puts("CC");
return 0 ;}

Q4)
#include<stdio.h>
#include<unistd.h>
int main(){
puts("hello");
fork();
fork();
fork();
puts("bonjour");
return 0 ;}

EXERCICE 3:
Combien de fois le programme le caractere @ va être afficher.
Q1)
#include<stdio.h>
#include<unistd.h>
int main(){
for(int i=1;i<3;i++)
fork();
puts("@");
return 0 ;}

Q2)
#include<stdio.h>
#include<unistd.h>
int main(){
if(fork()==0)
if(fork())
puts("@");
return 0 ;}

EXERCICE 4:
Ecrire un programme qui va permettre d’exécuter le processus suivant :

Vous aimerez peut-être aussi