• Aucun résultat trouvé

S´erie d’exercices #4 IFT-2245 6 f´evrier 2017

N/A
N/A
Protected

Academic year: 2022

Partager "S´erie d’exercices #4 IFT-2245 6 f´evrier 2017"

Copied!
2
0
0

Texte intégral

(1)

S´erie d’exercices #4

IFT-2245 6 f´ evrier 2017

4.1 Conditions de course

Dans beaucoup de syst`emes, il peut y avoir des conditions de course. Pre- nons l’exemple d’un compte en banque partag´e par une femme et son mari, et imaginons que le mari fait un appel `awithdrawau mˆeme moment que la femme fait un appel `a deposit. D´ecrire tout ce qui peut se passer dans ce genre de circonstance, et comment ´eviter les diff´erents probl`emes.

4.2 Mutex avec swap

Utiliser l’instruction sp´eciale atomiqueswap pour implanter des primitives d’exclusion mutuelleacquireet releasequi assurent l’attente limit´e.

4.3 Atomicit´ e

Montrer que si les op´erationswait et signal des s´emaphores ne sont pas ex´ecut´ee atomiquement, alors l’exclusion mutuelle peut ˆetre viol´ee.

4.4 Section critique ` a 2

Voici un candidat-solution au probl`eme de la section critique : bool flag[2] = { false, false };

int turn;

void enter (void) { flag[myself] = true;

while (flag[other] && turn == other) /*wait*/;

}

void leave (void) { turn = other;

flag[myself] = false;

}

Pour chacune des trois propri´et´es d´esir´ees (exclusion mutuelle, progr`es, et attente limit´ee), prouver qu’elle est v´erifi´ee ou montrer un contre exemple.

1

(2)

4.5 Inhiber les interruptions

Expliquer pourquoi inhiber les interruptions n’est pas une technique ap- propri´ee pour impl´ementer les primitives de synchronisation dans un syst`eme multiprocesseur.

4.6 Spinlocks

Expliquer pourquoi les spinlock sont inappropri´es dans un syst`eme mono- processeur, mais sont souvent utilis´es dans les syst`emes multiprocesseurs ?

4.7 Section critique ` a 3

Prendre la solution de Peterson au probl`eme de la section critique et le g´en´eraliser `a 3 processus.

2

Références

Documents relatifs

– Il ne peut y avoir plus d’un processus dans sa section critique en mˆeme temps – Un processus en dehors de sa section critique ne peut bloquer un autre

Jacques Gangloff (ENSPS) Syst `emes temps r ´eel et syst `emes embarqu ´es Ann ´ee scolaire 2007-2008 1 /

– Obligation de publier les sources (pas de module binaire dans le noyau) – Pas adapt´e aux syst`emes `a taille m´emoire tr`es

• les pilotes sont appel´ es par une plateforme, potentiellement plusieurs fois, avec la configuration mat´ erielle acquise lors du boot ou de l’insertion du p´ eriph´ erique,.

• ATTENTION : acc´ eder au FPGA alors qu’aucun bitstream ne configure le FPGA se traduit par un crash de Linux. (transaction AXI

⇒ un fichier ASCII d´ ecrivant les p´ eriph´ eriques et leurs d´ ependances, converti en fichier binaire pour exploitation par le noyau Linux lors de son d´ emarrage puis son

• PL : source de donn´ ees vers le PS ou vers d’autres blocs FPGA pour traitement temps-r´ eel... embarqu´

3 Proposer un exemple dans lequel la valeur renvoy´ ee par une lecture est celle transmise au cours d’une ´ ecriture : penser ` a prot´ eger lecture et ´ ecriture par un mutex.