• Aucun résultat trouvé

Exercice4:Threadsetexclusionmutuelle Exercice3:Parrall´elisation Exercice1:Ordonnancementdeprocessus Aucundocumentn’estautoris´e Mercredi9Mars20129h-12h ContrˆoleSyst`emesd’exploitation,R´eseaux

N/A
N/A
Protected

Academic year: 2022

Partager "Exercice4:Threadsetexclusionmutuelle Exercice3:Parrall´elisation Exercice1:Ordonnancementdeprocessus Aucundocumentn’estautoris´e Mercredi9Mars20129h-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 2011-2012 Licence 2

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

Mercredi 9 Mars 2012 9h - 12h

Aucun document n’est autoris´ e

Exercice 1 : Ordonnancement de processus

(6 = 3 + 3)

On consid`ere les cinq ex´ecutions de processus suivants (la dur´ee est exprim´ee en seconde) : Processus Date d’arriv´ee Dur´ee

P1 0 7

P2 1 4

P3 1 2

P4 2 2

P5 3 1

1. 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 temps d’ex´ecution restant) et Tourniquet (avec un quantum de 1) en supposant un temps de commutation de contexte n´egligeable.

2. Si le temps de commutation est de 0,5 seconde, quel est alors le temps moyen de traitement dans le cas d’un ordonnancement PCTER et d’un ordonnancement tourniquet. Qu’en d´eduisez-vous ?

Exercice 3 : Parrall´ elisation

(3)

On consid`ere l’ensemble de tˆaches suivant (qui calcule (x+y+z)/u∗v∗(x+y)) : t1: a = x + y;

t2: b = u * v;

t3: c = a + z;

t4: d = a * b:

t5: R = c / d;

Le syst`eme de tˆaches avec l’ordret1< t2< t3< t4< t5 est-il d´etermin´e ? Si oui, donner le syst`eme de parall´elisme maximal ´equivalent et en d´eduire un programme utilisant les primitives de Conway fork/join/quit.

Exercice 4 : Threads et exclusion mutuelle

(8: 1 + 3 + 2 + 2)

On cherche `a programmer un logiciel capable de compter le nombre de ’a’ dans une chaˆıne de caract`eres. Concr`etement il s’agit d’´ecrire un programme ayant les caract´eristiques suivantes:

• Une fonctionintcompter(char∗s)qui retourne le nombre de ’a’ de la chaˆıne de caract`eress.

• Le programme a une donn´ee globale qui est un tableau de chaˆıne de caract`eres nomm´echar∗requetes[]de taille 5.

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

• La fonctionvoid∗accueil(void∗s)est une boucle infinie qui lit du clavier une chaˆıne de caract`eres et la met `a la premi`ere case libre du tableaurequetessi le tableau n’est pas plein.

• La fonctionvoid∗executer(void∗s)r´ecup`ere du tableaurequetes une chaˆıne s’il y en a une, appelle la fonction compteret affiche le r´esultat.

1. Ecrire la fonctioncompter.

2. Sans consid´erer les probl`emes d’exclusion mutuelle, ´ecrire les fonctions accueil et executer.

1

(2)

3. Ecrire le reste du programme: fonctionmainet variables globales n´ecessaires.

4. Ajouter les mutex n´ecessaires au bon fonctionnement.

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

5 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 ,

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

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

8 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 )

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

10

11 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 )

12 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 )

13 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 )

14 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

Lorsque f ne s’annule pas, elles se ram`enent grosso modo `a dy f (y) = dt (“´equation `a variable s´epar´ee”) et on int`egre les deux membres modulo

Myriam se rend pour la premi` ere fois dans un salon de coiffure o` u trois coiffeuses op` erent avec plus ou moins de talent (mais au mˆ eme prix).. Elle sait que l’une d’entre

• 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

La mise au point finale sur la conjecture peut se faire au vidéoprojecteur : le professeur trace, par exemple, le cercle de centre O et de rayon 5 cm, il déplace le point M et

[r]

a- D´ efinir une fonction qui teste la pr´ esence d’un ´ el´ ement dans une liste.. b- Une liste est constitu´ ee d’´ el´ ements qui sont des couples (Key,

Dessiner un nouveau diagramme en boˆıte obtenu en rempla¸cant la m´ediane par la moyenne, le premier quartile par la valeur x − s et le troisi`eme quartile par la valeur x +

Combien de tirages pour lesquels on tire deux jetons de chaque couleur.. Combien de tirages où tous les jetons tirés ont des