• Aucun résultat trouvé

Exercice2:Parall´elisation Exercice1:Gestiondeprocessus Aucundocumentn’estautoris´e Vendredi22Mars20139h-12h ContrˆoleSyst`emesd’exploitation,R´eseaux

N/A
N/A
Protected

Academic year: 2022

Partager "Exercice2:Parall´elisation Exercice1:Gestiondeprocessus Aucundocumentn’estautoris´e Vendredi22Mars20139h-12h ContrˆoleSyst`emesd’exploitation,R´eseaux"

Copied!
2
0
0

Texte intégral

(1)

Institut Galil´ee Syst`emes d’exploitation, R´eseaux

Ann´ee 2012-2013 Licence 2

Contrˆ ole Syst` emes d’exploitation, R´ eseaux

Vendredi 22 Mars 2013 9h - 12h

Aucun document n’est autoris´ e

Exercice 1 : Gestion de processus

(10 = 2 + 1 + 1 + 2 + 1 + 3)

1. Rappeler ce que fait le syst`eme d’exploitation lors de l’appel `a la fonction syst`eme fork (). On pr´ecisera en particulier ce que fait le syst`eme d’exploitation (gestion des tables, ...).

2. Rappeler en quelques lignes ce qu’est la commutation de contexte et `a quoi sert l’ordonnanceur.

3. Les processus suivants doivent ˆetre ex´ecut´es sur un ordinateur ayant un seul processeur:

Processus Date de d´ebut d’ex´ecution Dur´ee suppos´ee d’ex´ecution

P1 0 6

P2 4 7

P3 8 2

P4 10 3

P5 12 2

On supposera que le temps de commutation de contexte est n´egligeable. Donner le diagramme de Gantt (processus en ex´ecution, liste des processus en attente `a chaque instant) et le temps moyen de traitement lorsque l’algorithme d’ordonnancement de processus utilis´e par le syst`eme d’exploitation utilise la m´ethode dite FIFO (premier arriv´e, premier servi).

4. Mˆeme question avec la m´ethode PCTER (plus court temps d’ex´ecution restant, ou encore nomm´e SRTF, shortest remaining time first). On expliquera pourquoi cette m´ethode permet un temps moyen de traitement optimal.

5. Mˆeme question avec la m´ethode du tourniquet (on prendra 2 comme dur´ee d’un quantum). On expliquera bri`evement pour chaque commutation de contexte le choix effectu´e.

6. On suppose maintenant que le syst`eme a p processus en ex´ecution en permanence. On suppose de plus que l’ordonnanceur utilise la m´ethode tourniquet avec un quantum de qsecondes, et que pour chaque changement de processus en ex´ecution, ordonnancement et commutation prennentcsecondes. On d´efinit le temps de latence ld’un processus comme la dur´ee maximale entre le moment o`u un processus finit un quantum d’ex´ecution et le moment o`u ce mˆeme processus sera de nouveau en ex´ecution. Donner et expliquer la relation entrep,c,qet l.

Donner, en la justifiant, la valeur maximale du quantum pour que le temps de latence soit inf´erieur `a 1/10s[on prendrap= 10;c= 1/1000].

Exercice 2 : Parall´ elisation

(10 = 3 + 1 + 1 + 2.5 + 2.5) On consid`ere l’algorithme (dit de Gauss) s´equentiel suivant:

FOR k:= 1 TO n-1 DO T_{kk};

FOR j := k+1 TO n DO T_{kj};

OD OD

LesTkj d´esignent des tˆaches dont nous ne pr´ecisons pas le contenu et dont nous nous limitons `a donner les do- maines de lecture et d’´ecriture (M(i, j) est la cellule m´emoire d’adresse (i, j)) :

Pour les tˆachesTkk :

Lkk={M(i, k) aveck≤i≤n}

Ekk={M(i, k) aveck+ 1≤i≤n}

Pour les tˆachesTkj pourj variant dek+ 1 `an:

Lkj={M(i, k) aveck≤i≤n} ∪ {M(i, j) aveck≤i≤n}

Ekj={M(i, j) aveck+ 1≤i≤n}

1

(2)

1. Pour n = 3, apr`es avoir donn´e le syst`eme de tˆaches initial, construisez et justifiez le graphe de parall´elisme maximal associ´e.

2. Ecrire un programme avec les primitives de Dijkstra (utilisant parbegin / parend, begin / end) pour r´ealiser ce graphe.

3. Ecrire un programme avec les primitives de Conway (utilisant fork / join / quit) pour r´ealiser ce graphe.

4. Ecrire un programme en C utilisant la cr´eation de processus et des tubes pour les communications.

5. Ecrire un programme en C utilisant la cr´eation de threads et des s´emaphores pour le contrˆole de la synchroni- sation.

Fonctions et en-tˆete utiles:

1#include<s t d i o . h>

2#include<s t d l i b . h>

3#include<p t h r e a d . h>

4#include <u n i s t d . h>

5

6 p i d t f o r k (void)

7 i n t p i p e (i n t p i p e f d [ 2 ] )

8

9 i n t p t h r e a d c r e a t e ( p t h r e a d t ∗t h r e a d ,

10 const p t h r e a d a t t r t ∗a t t r ,

11 void ∗(∗s t a r t r o u t i n e ) (void∗) , void ∗a r g )

12 i n t p t h r e a d j o i n ( p t h r e a d t t h r e a d , void ∗∗v a l u e p t r )

13 void p t h r e a d e x i t (void ∗v a l u e p t r )

14

15 i n t p t h r e a d m u t e x l o c k ( p t h r e a d m u t e x t ∗mutex )

16 i n t p t h r e a d m u t e x u n l o c k ( p t h r e a d m u t e x t ∗mutex )

17 i n t p t h r e a d m u t e x i n i t ( p t h r e a d m u t e x t ∗mutex , const p t h r e a d m u t e x a t t r t ∗a t t r )

18 i n t p t h r e a d m u t e x d e s t r o y ( p t h r e a d m u t e x t ∗mutex )

2

Références

Documents relatifs

Identifier les anomalies contenues dans le diagramme de classes ci-dessus et indiquer les solutions pour les traiter (structurer la réponse par le tableau ci-dessous) (4,5pts)..

Le diagramme de Gantt est un outil de visualisation graphique permettant de voir de manière globale et locale dans le temps les tâches composant un projet ainsi que

Introduction Cas d’une exécution statique (H1) sans communication (H4) Exécution statique (H1) avec communication (Non-H4) Cas d’une exécution sans information préalable

[r]

• Le programme cr´ ee un thread qui doit ex´ ecuter la fonction void ∗accueil(void∗s) et 10 threads qui ex´ ecutent la fonction void ∗executer(void ∗s) , puis attend que tous

Donner les diagrammes de Gantt et les temps de traitement moyen obtenus ` a l’aide des algorithmes d’ordonnancement FIFO (Premier arriv´ e - Premier servi), PCTER (plus court

Donner le programme correspondant de parall´ elisme maximal en utilisant les primitives de Conway

On d´ efinit le temps de latence l d’un processus comme la dur´ ee maximale entre le moment o` u un processus finit un quantum d’ex´ ecution et le moment o` u ce mˆ eme processus