0% ont trouvé ce document utile (0 vote)
66 vues2 pages

Systèmes D'exploitation: Exercice 1: Multi-Programmation

Le document aborde des exercices sur les systèmes d'exploitation, notamment la multi-programmation avec l'exécution de tâches et l'utilisation de l'appel système fork() pour créer des processus. Il pose des questions sur le rôle des systèmes d'exploitation, les systèmes multiprogrammés, et les défis de la multitâche. Enfin, il discute des problèmes de partage de données et des appels système dans le système UNIX.
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
66 vues2 pages

Systèmes D'exploitation: Exercice 1: Multi-Programmation

Le document aborde des exercices sur les systèmes d'exploitation, notamment la multi-programmation avec l'exécution de tâches et l'utilisation de l'appel système fork() pour créer des processus. Il pose des questions sur le rôle des systèmes d'exploitation, les systèmes multiprogrammés, et les défis de la multitâche. Enfin, il discute des problèmes de partage de données et des appels système dans le système UNIX.
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Systèmes d’Exploitation

Exercice 1 : Multi-programmation
On s’intéresse à l’exécution de trois tâches T 1, T2 et T3 :
– La tâche T 1 dure 200ms (hors E/S) et réalise une unique E/S au bout de 110ms ;
– La tâche T 2 dure 50ms et réalise une unique E/S au bout de 5ms ;
– La tâche T 3 dure 120ms sans faire d’E/S.
Les tâches T1 et T2 sont créées à l’instant 0, la tâche T 3 est créée à l’instant 140. Chaque E/S dure 10ms.
La valeur du quantum est de 100ms.
Question 1.1 : Représentez sur deux diagrammes des temps l’exécution des 3 tâches en batch et en
temps partagé. Calculez dans les deux cas le temps total d’exécution T ex et le taux d’occupation T oc du
processeur.

Exercice 2 : Processus
L’appel système f ork () crée un processus fils qui diffère de son père uniquement par ses numéros de
pid et de ppid. L’appel f ork() renvoi 0 pour le fils et le pid du fils créé pour le père. Juste après le f ork () , les
deux processus disposent des mêmes valeurs de données et de pile mais il n’y a pas de partage : chaque
processus a sa propre copie.
Soit le programme C suivant :
main( ) {
int pid ;
printf("Debut \ n") ;
pid=fork() ;
if (pid == 0) then
printf("execution 1 \ n") ;
else
printf("execution 2 \ n") ;
end if
printf("Fin \ n") ;
return (EXIT_SUCCESS) ;
}
Question 2.1 : Donnez les affichages effectués par le processus père et par le processus fils.
On considère maintenant le programme suivant :
int main(int argc, char * argv[]) {
int a, e ;
a = 10 ;
if (fork() == 0) then
a=a× 2 ;
if (fork() == 0) then
a=a+ 1 ;
exit(2) ;
end if
printf("% d \ n", a) ;
exit(1) ;
end if
wait(& e) ;
printf("a :% d, e :% d \ n", a, WEXITSTATUS(e)) ;
return (0) ;
}
Question 2.2 : Donnez le nombre de processus créés, ainsi que les affichages effectués par chaque
processus.
Question 2 .3 : On supprime l’instruction exit ( 2), reprenez la question précédente en conséquence.

Exercice

Q1) : Quel est le rôle d’un système d’exploitation ? Les interpréteurs de commandes et les
compilateurs font-ils parties du système d’exploitation ?
Q2) Qu’est-ce qu’un système multiprogrammé ? Un système de traitement par lots ?
Un système en temps partagé ?
Q3) Quelles sont les fonctions du système d'exploitation ?
Q4) Quelle est la différence entre un système mono-programmé (mono-tâche) et un système
multiprogrammé ? quels sont les avantages et les défis imposés par la multitâche ?
Q5) Qu'est-ce qui L’amorce (Bootstrap) ?
Q6) Pourquoi le partage de données pose des problèmes dans un système multiprogrammé en temps
partagé ? Le système UNIX permet-il de contrôler les
accès aux données partagées ? Qu’est-ce qu’une section critique ?
Q7) Dans le système UNIX, les véritables appels système sont effectués à partir - d’un programme
utilisateur - d’une commande shell - d’une procédure de la bibliothèque standard Sont-ils
exécutés en mode superviseur ou en mode utilisateur ?

Vous aimerez peut-être aussi