Vous êtes sur la page 1sur 2

eMiage, Licence 3e anne, 2014-2015

B208 - Systmes dExploitation


Devoir N1 - Gnralits
A rendre au plus tard le 10 avril 2015

Gilles Dequen

Entres/Sorties (7 points)

On suppose un systme informatique squentiel (Hardware + Software) devant appliquer un filtre numrique sur un lot de 80 images. Le rsultat de lapplication de ce filtre sera envoy limpression. On suppose que chacun de ces
traitements est constitu de 3 phases :
La numrisation (15 secondes)
lapplication du filtre (20 secondes)
Limpression (15 secondes)
Nous negligerons le temps intermdiaire entre chaque tche. Calculez le temps
de traitement global (i.e. pour les 80 images) dans les cas suivants :
a) Lunit centrale gre les entres/sorties

(2 pts)

b) Les priphriques sont autonomes et disposent dun accs directe la


mmoire centrale de la machine. (2 pts)
c) Les conditions sont identiques au cas b) mais on considre ici de le temps
ncessaire un impression nest plus de 15 secondes mais de 30 secondes.
(3 pts)

Processus

2.1

Questions de cours (4 lignes maximum) (4 points)

a) Quest-ce quun processus ?

(1 pt)

b) Dans les problmes de synchronisation, quest-ce que lattente active ?


pt)

c) Quel est linconvnient majeur de lattente active ? (Expliquer)


d) Quest-ce quune section critique ?

(1 pt)

(1 pt)

(1

2.2

Processus (9 points)

On considre un processus nomm monproc dont le pseudo algorithme est le


suivant. Comme indiqu dans le cours, ce processus est en mesure de "donner
naissance" des processus "fils" par un principe de filiation. Ce principe de
filiation est galement appel "clonage". On dfinit une primitive clonemoi()
qui procde au clonage et qui retourne un descripteur diffrent de 0 si lon est
dans le processus "pre" et qui retourne 0 si lon se trouve dans le processus
clon (i.e. le "fils") :
Faites un schma symbolisant les diffrentes tapes de filiation pour les processus monproc_A() et monproc_B() (4 pts)
Procdure monproc_A()
Dbut
Rpter
v := clonemoi()
si v = 0 alors BREAK (je sors de la boucle)
Jusque FAUX
Fin
Procdure monproc_B()
Dbut
Rpter
v := clonemoi()
si v != 0 alors BREAK (je sors de la boucle)
Jusque FAUX
Fin
Supposons que la procdure monproc_A soit modifie de la faon suivante :
Procdure monproc_A()
Dbut
Pour i allant de 1 5
Si i est impair
alors
afficher i
v := clonemoi()
FinSi
FinPour
Fin
Aprs avoir raliser un schma dcrivant la filiation des diffrents processus
crs a linstar de la question prcdente, donnez un affichage possible rsultant
de lexcution de ce processus. (5 pts)

Vous aimerez peut-être aussi