• Aucun résultat trouvé

Aucundocumentn’estautoris´e Vendredi14Mars2014—9h-12h ContrˆoleSyst`emesd’exploitation,R´eseaux

N/A
N/A
Protected

Academic year: 2022

Partager "Aucundocumentn’estautoris´e Vendredi14Mars2014—9h-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 2013-2014 Licence 2

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

Vendredi 14 Mars 2014 — 9h - 12h Aucun document n’est autoris´ e

Exercice 1 (5 = 2 + 1,5 + 1,5)

1. Rappeler ce qu’est la commutation de contexte et `a quoi sert l’ordonnanceur. On pr´ecisera comment s’effectue la commutation entre 2 processus ou threads.

2. Les processus suivants doivent ˆetre excut´es sur un ordinateur ayant un seul CPU : Processus Date de d´ebut d’ex´ecution Dur´ee suppos´ee d’ex´ecution

A 0 3

B 1 6

C 4 4

D 6 2

E 7 1

On supposera que le temps de commutation de contexte est n´egligeable.

Donner le diagramme de Gantt 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 premier arriv´e premier servi (FIFO).

3. Mˆeme question avec la m´ethode dite du plus court temps d’ex´ecution restant (SRTF).

Exercice 2 (5 = 2,5+2,5)

Soient deux processus A et B prˆets tels que A est arriv´e en premier suivi de B, 2 unit´es de temps apr`es. Les temps de CPU n´ecessaires pour l’ex´ecution des processus A et B sont respectivement 15 et 4 unit´es de temps. Le temps de commutation est suppos´e nul. Calculer le temps de s´ejour de chaque processus A et B, le temps de traitement et le temps d’attente, le temps moyen de traitement et le temps moyen d’attente, et le nombre de changements de contexte pour les m´ethodes avec quantum (m´ethodes RR) suivantes:

1. un quantum de 3 unit´es de temps 2. un quantum de 10 unit´es de temps

Exercice 3 (4 = 1+3)

1. D´ecrivez le fonctionnement de l’appel syst`emepthread_create(). Mentionnez en particulier ce qui est effectu´e relativement `a la table de description des processus, `a la m´emoire centrale. Comparer avec l’appel syst`eme fork().

2. Pour le syst`eme d’exploitation unix, ´ecrire un programme C qui doit afficher sur la sortie standard le nombre de thread fils qu’il peut cr´eer. Pour cela, ce programme doit cr´eer de nouveaux threads jusqu’`a ce que cette op´eration soit impossible. Attention `a la terminaison des threads!

Exercice 4 (6 = 3+3)

La fonction TRI, donn´ee `a l’annexe 1, effectue un tri rapide (quicksort).

1. Modifiez ce programme pour que chaque appel `a la fonction TRIsoit en fait effectu´e par un thread cr´e´e pour cela.

2. Sous Unix, les informations sur un fichier peuvent ˆetre obtenues en utilisant la fonction syst`eme suivante:

int stat(const char *nom_fichier, struct stat *stat_ptr)

La fonctionstat()met les informations concernant le fichiernom_fichierdans l’argumentstat_ptr. Le type statde cet argument est donn´e `a l’annexe 2.

Ecrivez un programme enCqui prend en entr´ee une liste de noms de fichiers et cr´ee deux threads. Le premier thread trie la liste en fonction de la taille des fichiers et ´ecrit le r´esultat dans un fichiertri.tailleet le second thread trie la liste en fonction de l’heure du dernier acc`es et sauvegarde le r´esultat dans un fichier tri.acces.

1

(2)

(Annexe 1) Fonction TRI effectuant un tri rapide (quicksort):

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

2

3#define N 10

4 i n t T [N ] = {2 , 4 , 8 , 5 , 1 , 9 , 1 0 , 4 , 1 4 , 1 1};

5

6 i n t PARTITION(i n t ∗,int,i n t) ;

7 void ECHANGER(i n t ∗,int,i n t) ;

8 void TRI (i n t ∗,int,i n t) ;

9

10 void TRI (i n t T [N ] , i n t d , i n t f ) {

11 i f ( d < f ) {

12 i n t q = PARTITION( T, d , f ) ;

13 TRI ( T, d , q−1 ) ;

14 TRI ( T, q+1 , f ) ;

15 } }

16

17 i n t PARTITION(i n t T [N ] , i n t d , i n t f ) {

18 i n t p i v o t = T [ f ] ;

19 i n t j , i = d−1;

20 f o r ( j=d ; j<f ; j ++) {

21 i f (T [ j ] <= p i v o t ) {

22 i = i +1;

23 ECHANGER( T, i , j ) ;

24 } }

25 ECHANGER( T, i +1 , f ) ;

26 return i +1;

27 }

28

29 void ECHANGER(i n t T [N ] , i n t i , i n t j ) {

30 i n t temp = T [ i ] ;

31 T [ i ] = T [ j ] ;

32 T [ j ] = temp ;

33 }

34

35 void main ( ) {

36 i n t i ;

37 f o r ( i =0; i<N ; i ++) p r i n t f ( ”%d ” ,T [ i ] ) ;

38 p r i n t f ( ”\n” ) ;

39 TRI (T, 0 , N−1 ) ;

40 f o r ( i =0; i<N ; i ++) p r i n t f ( ”%d ” ,T [ i ] ) ;

41 p r i n t f ( ”\n” ) ;

42 }

(Annexe 2) Description du typestat:

struct stat {

unsigned long st_dev; /* Peripherique. */

unsigned long st_ino; /* Numero i-noeud. */

unsigned int st_mode; /* Protection. */

unsigned int st_nlink; /* Nb de liens materiels. */

unsigned int st_uid; /* User ID proprietaire. */

unsigned int st_gid; /* Group ID proprietaire. */

unsigned long st_rdev; /* Numero de peripherique. */

long st_size; /* Taille totale en octets. */

int st_blksize; /* Taille de bloc pour E/S. */

long st_blocks; /* Nombre de blocs de 512 octets alloues. */

long st_atime; /* Heure de dernier acces. */

long st_mtime; /* Heure de derniere modification. */

long st_ctime; /* Heure de dernier changement. */

};

(Annexe 3) Fonctions et en-tˆete utiles:

#include <s y s / t y p e s . h>

#include <s y s / s t a t . h>

#include <f c n t l . h>

#include <s t d i o . h>

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

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

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

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 , const p t h r e a d a t t r t ∗a t t r ,

void ∗(∗s t a r t r o u t i n e ) (void∗) , void ∗a r g ) 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 ) void p t h r e a d e x i t (void ∗v a l u e p t r )

i n t open (const char ∗pathname , i n t f l a g s ) ; i n t c l o s e (i n t f d ) ;

s s i z e t w r i t e (i n t fd , const void ∗buf , s i z e t c o u n t ) ;

2

Références

Documents relatifs

À partir du XIIème siècle, les châteaux sont construits en pierre pour être plus résistant, notamment aux incendies.. Château de Foix – 7 ème

Le traitement en temps réel mobilise l’essentiel des forces sur la petite et moyenne délinquance, c’est ce que certains procureurs ont exposé dans le premier rapport

[r]

[r]

Lorsqu’un processus devient prˆ et ou est cr´ e´ e, le syst` eme v´ erifie si son ´ ech´ eance est strictement inf´ erieure ` a celle du processus en cours d’ex´ ecution.. Si

La simple étude théorique poursuivie selon son rythme et s•es métnodie!S particulières, prend donc un intérêt· parce qu'eUE' dev~ent un outil en vue d'un

En nous intéressant aux effets de « disruption » plus ou moins profonds qu’a engendré la pandémie, nous questionnons la manière dont ceux-ci ont modifié les pratiques de

courriers = 48 heurs. marge Intervalle du temps entre deux opération, qui permet d’observer un retard d’exécution de la premier opération. - la déférence entre le délai