[PDF] Partie 1 : Processus et Thread Exercice 1 :





Previous PDF Next PDF



Systèmes dexploitation INF3600 Exercices + Corrigés Gestion des

Systèmes d'exploitation. INF3600. Exercices + Corrigés. Gestion des processus. Exercice 1 : 1) Quel est le rôle d'un système d'exploitation ? Les interpréteurs 



INF3600 Systèmes dexploitation

16 avr. 2003 La pré- sentation des commandes processus et fichiers est faite en utilisant des exemples de programmation shell. Le Chapitre 3 défini le ...



Cours système dexploitation 2 Troisième année licence “ ISIL

système de gestion du mémoire utilisé par le système d'exploitation. Cela peut ... 13.LINUX Programmation Système et Réseau



Partie 8 : Systèmes de fichiers

Exercice 3 : Considérez le système de fichiers d'UNIX et les tables de gestion suivantes : la table des i- nœuds la table de tous les fichiers ouverts et 



Partie 1 : Processus et Thread

Un accès pour récupérer le répertoire INF3600 (1 bloc). Un 2) (a) Les systèmes d'exploitation de la famille Unix permettent à un même fichier de posséder.



Partie 1 : Processus et Thread Exercice 1 :

1) Quel est le rôle d'un système d'exploitation ? Les interpréteurs de Pour accélérer la recherche du mot INF3600 dans le fichier COURS le processus de ...



Partie 4 : Synchronisation Exercice 1 :

Soit un système d'exploitation qui s'exécute sur une plateforme à deux processeurs. L'ordonnanceur de ce système gère deux files d'attente une pour chaque 



TD n°6 : Gestion de la mémoire CORRECTION

Exercice 6 – Temps d'accès. 1) a) Dans l'algorithme LRU on retire la page la moins récemment utilisée. Il s'agit donc de Systèmes d'exploitation. A. Queudet.



Système de fichiers

Pour le système d'exploitation un fichier est une suite d'octets. Par contre



TD n°6 : Gestion de la mémoire

•a) OPT b) FIFO c) LRU d) FINUFO. Systèmes d'exploitation. A. Queudet. Page 3. Projet DVD-MIAGE 2010. Exercice 6 – Temps d'accès. Un système qui implémente la 



Systèmes dexploitation INF3600 Exercices + Corrigés Gestion des

INF3600. Exercices + Corrigés. Gestion des processus. Exercice 1 : 1) Quel est le rôle d'un système d'exploitation ? Les interpréteurs de.



INF3600 Systèmes dexploitation

16 avr. 2003 INF3600. Systèmes d'exploitation. Hanifa Boucheneb et Juan Manuel ... Gestion des processus (programmes en cours d'exécution) et des fi-.



Partie 1 : Processus et Thread

INF3600. Automne2006. 1. Partie 8 : Systèmes de fichiers. Le corrigé Une partie d'un bloc sera nécessaire pour conserver les 86 pointeurs sur des blocs ...



Partie 4 : Synchronisation Exercice 1 :

Soit un système d'exploitation qui s'exécute sur une plateforme à deux processeurs. L'ordonnanceur de ce système gère deux files d'attente une pour chaque 



Partie 1 : Processus et Thread Exercice 1 :

INF3600+INF2610 compilateurs font-ils parties du système d'exploitation ? ... 5) Dans le système UNIX est-ce que tout processus a un père ?



Partie 8 : Systèmes de fichiers

INF3600. Automne2006. 1. Partie 8 : Systèmes de fichiers. Exercice 1 : Considérez le système de fichiers d'UNIX et les tables de gestion suivantes : la ...



Corrigé

Module de Systèmes d'exploitation I. Durée : 01H30. Corrigé. Exercice 1 : Dans le scheduling multi-niveaux la file d'attente des processus prêts n'est ...



Partie 6 : Ordonnancement de processus Exercice 1 :

Considérez un système d'exploitation qui ordonnance les processus selon l'algorithme du tourniquet. La file des processus prêts contient des pointeurs vers 



Processus

La norme Posix définit un nombre relativement petit d'appels système pour la gestion de processus : – pid_t fork() : Création de processus fils. – int execl() 

Partie 1 : Processus et Thread Exercice 1 :

INF3600+INF2610 Automne2006

1

Partie 1 : Processus et Thread

Exercice 1 :

1) 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 ?

2) Qu'est ce qu'un système multiprogrammé ? Un système de traitement par lots ? Un système

en temps partagé ?

3) 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 ?

4) Comment sont organisés les fichiers dans le système UNIX ? Un utilisateur peut-il accéder à

un fichier d'un autre utilisateur ? Si oui, comment ?

5) Dans le système UNIX, est-ce que tout processus a un père ? Que se passe-t-il lorsqu'un

processus devient orphelin (mort de son père) ? Quand est-ce un processus passe à l'état

Zombie ?

6) Pour lancer en parallèle plusieurs traitements d'une même application, vous avez le choix

entre les appels système fork( ) et pthread_create( ). Laquelle des deux possibilités choisir ?

pourquoi ?

7) Citez quatre événements qui provoquent l'interruption de l'exécution d'un processus en cours,

dans le système UNIX.

8) Quel est le rôle de l'ordonnanceur ? Décrire brièvement l'ordonnanceur du système UNIX ?

Favorise-t-il les processus interactifs ?

9) 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 ?

2

Exercice 2 :

Que fait chacun des programmes suivants :

1) int main( ) { int p=1 ; while(p>0) p=fork() ; execlp("prog", "prog", NULL) ; return 0 ; 2) int i=2 ; int main ( ) { j=10; int p ; while(--i && p = fork()) if(p<0) exit(1) ; j += 2; if (p == 0) { i *= 3; j *= 3; }else { i *= 2; j *= 2; printf(" i=%d, j=%d », i,j) ; return 0 ; 3) #include #include int main ( ) int fd[2], i=2; char ch[100]; while (i) { pipe(fd); if( fork()) { close(fd[0]); dup2(fd[1],1); close(fd[1]); break; } else

3 { close(fd[1]);

dup2(fd[0],0); close(fd[0]); i--; scanf("%s", ch); printf("%s\n",ch); exit(0); 4) int i=4, j=10; int main ( ) { int p ; p = fork(); if(p<0) exit(1) ; j += 2; if (p == 0) { i *= 3; j *= 3; else { i *= 2; j *= 2; printf("i=%d, j=%d", i,j) ; return 0 ; 5) int main ( ) { int p=1 ; for(int i=0 ; i<=4 ; i++) if (p>0) p=fork( ) ; if(p !=-1) execlp("prog", "prog", NULL) ; else exit(1) ; while( wait(NULL) !=-1) ; return 0 ;

Exercice 3 :

1) Dans le cas d'UNIX, la création de processus est réalisée par duplication.

a) Citez un avantage et un inconvénient.

4 b) Citez en deux ou trois lignes les avantages des processus légers (threads) par rapport aux

processus.

2) Considérez un fichier nommé COURS. Pour accélérer la recherche du mot INF3600 dans le

fichier COURS, le processus de départ crée quatre processus. Chaque processus fils créé effectue

la recherche dans une des quatre parties du fichier en appelant la fonction Recherche suivante : bool Recherche (char * Fichier, char * Mot, int Partie) où : - Fichier est le nom du fichier, c'est-à-dire COURS, - Mot est le mot recherché, c'est-à-dire INF3600 et - Partie est la partie 1, 2, 3 ou 4 du fichier. Cette fonction retourne 1 en cas de succès et 0 sinon.

Au retour de la fonction Recherche, le processus fils transmet, en utilisant l'appel système exit,

au processus père le résultat de la recherche (exit(0) en cas de succès, exit(1) en cas d'échec).

Lorsque le processus père est informé du succès de l'un de ses fils, il tue tous les autres fils.

a) Ecrivez un programme C/C++ qui réalise le traitement ci-dessus. Attention : n'écrivez pas le code de la fonction Recherche.

Exercice 4 :

1) Expliquez pourquoi, dans UNIX, lorsqu'un processus exécute l'appel système " exit », ses

ressources ne sont pas libérées tout de suite.

2) Expliquez pourquoi les processeurs ont deux modes de fonctionnement (noyau et utilisateur).

3) Écrivez un programme qui lance, l'un à la suite de l'autre, les fichiers exécutables passés en

paramètre. Un fichier exécutable est lancé uniquement si tous ceux qui le précèdent sont

terminés. Avant de se terminer, le programme affiche, à l'écran, le nombre de lancements de

fichiers exécutables qui ont échoués (parce que le fichier n'existe pas ou n'est pas exécutable).

5

Exercice 5 :

Considérez le programme suivant:

#include #include #include #include #include int main ( ) { pid_t pid; int i, n=3; for (i=0; i= 0); return 0;

1. Complétez le code précédent de manière qu'il crée l'arborescence illustrée ci-dessus :

P F1F2 F3

F4F5F6

F7

Les processus fils du dernier niveau se transforment en a (a est un fichier exécutable). Les autres

processus fils affichent à l'écran le message " je continue » avant de poursuivre la création de

processus.

2. Est-ce que le code complété engendre des processus zombies? Justifiez.

6 3. Tracez l'arborescence des processus créés par le programme si l'on supprime la ligne while

(wait(NULL) >= 0); et à la fin du code des pères l'on ajoute les lignes : wait(NULL); exit(0);

Exercice 6 :

Considérez le programme C suivant :

#include #include #include void main() pid_t p1, p2, p3, p4; if ((p1=fork( ))==0) if ((p2=fork( ))==0) f2( ); else f1( ); else if ((p3=fork())==0) f3( ); else if ((p4=fork())==0) f4( ); sleep(3); while(wait(NULL)>0) ;

1) Tracez l'arborescence des processus créés par ce programme si les fonctions f1, f2, f3 et f4 se

terminent par exit().

2) Est-ce que ce programme peut produire des processus zombies? Justifiez.

Exercice 7 :

Considérez le programme suivant :

#include

7 #include

#include #include void jouer(int NumJoueur); //NumJoueur est le numéro du joueur 0..MaxJoueurs-1 #define MaxJoueurs 4 /*0*/ int main( ) // créer MaxJoueurs processus fils du processus principal // chaque joueur exécute la fonction jouer puis se termine /*1*/ while(1) // attendre la fin d'un joueur //lorsqu'un joueur se termine, un autre joueur de même numéro est créé /*3*/ return 0;

Complétez le programme en ajoutant le code qui réalise exactement les traitements spécifiés sous

forme de commentaires.quotesdbs_dbs29.pdfusesText_35
[PDF] Contrôle de SVT n - Académie de Nancy-Metz

[PDF] Systèmes logiques 1 - ISET de Djerba

[PDF] 5 le système nerveux - organisation générale de l

[PDF] Exercices (Algbre de Boole) - FSR

[PDF] Méthodologie Mathématiques Tables de vérité Exercice 1 Les

[PDF] TP n°2 : Tris, Tableaux croisés et Graphiques - LAMSADE

[PDF] Exercices d analyse financière-5

[PDF] I Exercices - Lycée Jean Vilar

[PDF] Brevet et tableurs

[PDF] UTILISATION DU TABLEUR GRAPHEUR PhF Séquence 5 Créer un

[PDF] Brevet et tableurs

[PDF] TABLEUR : Les indispensables en Collge et L

[PDF] IREM Taches Complexes 14/06/2016 - IREM de la Réunion

[PDF] Fiche de révisions pour le brevet des collèges Cosinus, Sinus

[PDF] 4 distance d 'un point ? une droite, tangente exercices Exercice 1