Solwions dex evercices 335
) Portage des données D
Le partage des données entre différents processus travaillant dans la méme
mémoire virtuelle est résolu sans mécenisme particulier par le seul fait que
les processus ont accés a un espace commun d'adressage.
CHAPITRE 4
Exercice 1
1) Le mécanisme de génération de la chaine r, peut &ure déerit comme suit
(Spim, 72] : on entretient une pile (dite pile LRU) telle que le numéro de
la page 1a plus récerment référencés figure & tout instant au sommet. Scit
Py = X, X, ..% (ls X, sont des naméros de page) la composition de la pile
4 Tinstant ¢, en partant du sommet. Sila néférence r,.. est la page x. le noavel
fiat de la pile €SC : Phey = 4%, S2 Xn Taya = Se Sot a(t) la proba
bilité a Vinstant ¢ pour que la référence 7, soit a page x(t > «J. On doit
avoir, quel que soit m/G< mS nj
afta
a(t) + a(t)
y(t) + agit) 4 + alt) = Bm
foi
alt) Py, alt) =p —Pi-1 pour 2.3,
Les a, sont done des constantes indépendantes de r (sauf pendant la phase
initial sation de le pile LRU, od on assigns une probabilité ézale aux pages
‘non encore référencées). La donnée des a; (ou des p) définit complétement
le modele,
2) Le modele a un comportement de localité si:
a2 a2 2a,
Les références récentes sont d’autant plus privilégiées que les 0, d'indice
faible sont élevés. On doit avoir Ea; ~ py = 1.
3) Les J pages le plus récemment référencées sont les / pages au sommet de
Ja pile LRU. On a done pour Ie modele propost :
a, = ay = = 0 = All
Gir = Oa = Gy = (Lill Th
La propriété de localités’exprime par =
A> (P= ifn =)
(ioc — Syne pain dens 8
3% Syutimes d’esploiation des ordinaieurs
Le modéle est entitrement défini par la donnée de | et 4. Ly est défini &
tout instant comme ensemble des / derniéres pages référencées, et la durée
de vie moyenne de Z, (intervalle de temps pendant lequel Z, garde la méme
composition) a pour valeur moyenne 1/7.
Exercice 2
Les N zones allouées se répartissent en 3 classes suivant qu’elles sont conti-
‘gus 4 2,1, ou 0 zones libres (voir schema).
[rrr $ret $$
4
Soit Nj, Np. Ne le nombre de zones de chaque classe et M le nombre de
zones libres, & un instant donné. Nous supposerons que Vallocation se f
toujours @ partir d'une des extrémités d'une zone libre et qu'une zone libérée
cst fusionnée avee toute zone libre adjacente. On a les relations :
N=Ng+ Nat Ne
M =A(2Nq + Ny). + J présselon la configuration aux eatrémités dc la
mémoire.
Soit p la probabilité pour qu'une demande de zone ne soit pas satsfite
parune zone libre de méme taille (en général p = 1).
La diminution 44, du nombre de zones libres, conséeutive a une allocation
est en moyenne =
aM,=(~-2)
Lraugmentation AM, du nombre de zones libres, consécutive & une libération
est :
yy,
Nv
N-2M
—*
AM
Na Ne
0+ (Dy =
Lorsque le systéie est en équilibre, AM, =
Mn 4pn
Bxercice 4
Nous considérons un systéme en équilibre, avec L > J de fayon que la
file d'attente ne soit jamais vides dans oc cas le temps d’acoés & une page
demandée se mesure en nombres entiers de pages, mis 4 part le premier trans
Fert.
[Nous appliquerons la formule de Little (¢f. 6.222) : soit & le débit moyen
des arivées des demandes et soit Sle temps moyen de residence d'une demande
dans la file; la formule de Little nous donne
L=asSolutions des exerices 337
Lorsqu’une demande arrive dans la fil elle trouve L demandes devant elle
en moyenne; soit e le temps moyen dTexécution d'une demande, ce temps
comprenant le temps d'sce#s moyen a et le temps de transfert 1;
enadet
Le temps de résidence d'une demande est done, en moyenne
S-Le
Introduisons le temps de révolution R du disque ; nous avons
R
Leeficacte est gale au rapport
ce qui peut s'écrire
L
ent
En FIFO le temps d‘accés moyen a, lorsqu’on se place sur une limite de
page, est égal a
e-Roersaem bedi
aoa
Bs
Avec [a politique SATF, le temps moyen d'scots est approximativement
(6.231)
a~2(i-L)"-
~Tei'-z) ~Ts7
foi
Ll
BeTSTsi
Exercice 5
Soit la chaine de références [Belady, 69]
o=123412512345
338 Systimes d’explotation des ordinateurs
(On obtient avec m = 3 et m = 4 pour FIFO et pour LRU a titre de compa-
raison
FIFO
123412555344
12341222533
™ 1234111255
C/3,0) =9
123444512345
12333451234
m 1222345123
ri1234512
C(4,@) = 10
LRU
123412512345
12341251234
mad 1234125123
C(3,0) = 10
123412512345
12341251234
ma4 1234125123
123444512
(4,0) =8
Exercice 6
Comme 5/m,«:) contient toujours les m pases les plus révemment réfé-
rencées, S(m,c) est un sousensemble de S(m + 1. «), ce qui cémontre
la propriété (ef. exervice 5).
Exercice 7
1) Les bits U peuvent éire remis 80
— soit au moment oi intervient ie remplacement, et dans le cas od tous
les bits U ont & mis a Z,
soit immédiatement (et automatiquement) das que le dernier bit U est
mis a.
Dans les 2 cas, le dernier bit mis i J nest pas remis 0,
2) Les pages sont réparties en 4 groupes disjoints suivant la valeur du
couple (U, £). Ces groupes sont classés comme suit = (0, 0), (0, 1). (1.0).
QD.
La page a remplacer est choisie, de fegon aléatoire , dans le premier groupe
‘non vide (en commengant par le groupe (0, 0)).Sohtions des exereices 339
Exercice 8
1) Le relation de Ménoneé s'itexpréte comme suit : pour une tale » de
mémoire principale allouge su programme pendant un temps doans, il
‘est préferable (en nombre d’instructions exécutées) d’exécuter Ie programme
en ji allouant pendant un temps 1/2, uoe taille de mémoite gale (5 — As)
et pendant /2 un taille de memoize égale& (s + As), plutot que Ge lui allouee
pendant un temps ‘une taille de mémoire constante 3.
2) Pour tenir compte du résultat précédent on peut privilégier pendant
tun intervale de temps donné, checun des processus en compétition. On
peut, par exemple, décider que les pages de mémoire principale appartenant
fu processus privilégié, ne seront pas choisies par Valgorithme de rempla-
cement pendant une période de p remplacements successifs; aprés quoi
on décide de privilégicr un autre processus. En conséquence, pendant un.
certain temps (le temps requis pour effectuer p remplacements) espace
alloué au processus privilégi¢ augmentera de As pages ; aprés quoi le processus
perdra ses pages plus rapidement que si un simple algorithme FIFO etzit
utilisé. L’algorithme ainsi modifié est appclé BIFO (« biased FIFO »).
Exercice 9
Les deux graphes H, ot Hy sont caractérsés par les mémes matrices dallo-
cation et de demande. En effet, puisque les suites S, et S; contiennent les
rémes processus a ordze pres,
Bia ae
oi 4° est ls matrice décrivant les allocations aux processus de la suite 5.
DN = DNS
08 DNS est la matrice décrivant les demandes non satisfates des processus
de la suite S.
(On a done =
Abe
Dy#
Exercice 10
Appelons R¢ tes ressources libres dans V'éiat G >
near- $a
AS 2 A- AS Am
NV — DNS = DN ~ DN = DN
Le graphe G est réduit par S dans le graphe H
AM = ae— 48
done RYak- Safa x $ aga Re
a a
340 Systimes dexpleitation des ordinateurs
Mais le graphe G est réductible par p, donc :
DN, < RE< RY
‘Hest aussi réductible par p,
Exercice 17
Supposons Hi, # H;
La proposition | implique que les suites S, et S; ne contiennent pas les
mémes processus. Supposons qu'il existe un processus p, tel que :
wes, ct pe S>
Remarquons que les roles de S, et J; sont symétriques. Soit $ le début
de la suite S, jusqu’au processus p, exclu (5 est éventuellement vide).
“Tous les processus de 5 appartiennent aussi 4 S,
Roe TD A eRo+ T ADDN
Si aprés réduction de G par S le graphe obtenu est encore réductible par p,,
alors a forior ke graphe obtenu apres réduction de G par S, est encore réduc-
tible par p,, Cela est contraire a Vhypothése que S, est une sequence. Done
tout processus de S; appartient & S; et, par syméiri. tout processus de Sy
appartient & S,
La proposition 1 implique alors H, = H.
Exercice 12
Soit Gy ~ G et soit G; le graphe obtenu aprés réduction de G,_. par Ie
PrOCESSUS Pq
D Soit $ une suite de réductions. Lorsqu’on réduit Gy par p,,,on obtient
DN, < Roo ct R= RHA,
(ou R* est le vecteur des ressourees libres dans état G,. A la k-itme réduction
(par py.) ona :
DNA ERE ek RARE Fy
ow encore Dg, < RO + Ay,
Soit S(1) ~ k Vindice de p, dans S. Alors :
{Ql Sh (Pear Ped)
Ge ~ G peat étre réduit par P,, en un graphe Gy.
En fle si P,, a des requétes ef attente, ce ne peut étre que surdes ressources
Feuilles dans fF suite 5, cestabire des ressources toutes libres. De méme
Geox peut étre réduit en un graphe G, par p,, car les demandes insatisfaites
de p,, ne peuvent concerer que des ressources feuilles dans S ou des res-
sourees suivantp,, dans S,c'est~i-dire possédées par les processus Py, +» Paw
(Ces ressouroes ont alors été libérées lors des réductions précécen
342 Syetdmer d’explotation des ordinatcurs
‘Sz est une séquence de réduction compléte du graphe connexe G. Il en est
de meme pour toutes les composantes connexes du graphe d'état. L’easemble
des séquences S., constitue une séquence de réduction compiéte du graphe
état. Cette séquence est aussi unc suite saine (proposition 4), et le systeme
est pas ea interblocage L'existence d'un circuit dans le graphe d'etat est
bien une condition nécessaire d'interblocage.
CHAPITRE 5
Exercice 1
Une disposition possible des parenthéses daccés, pour chaque couple
segment-usager est, en notant A la parenthése d'appel
Segments eager n, Usager vs
Anneaux
TT?PTtsee7 TTT sas eT
a dy pares)
m oy Lay
Bs a ia
a fazer) tia
we Lei
» F E
Late Lindy
* mes Lies
Laks La
a a 1
Remarque. Cette solution nécessite 4 anneaux au minimum (2, 3, 4 et 5).
‘Toute solution obtenue par translation est également valable.
CHAPITRE 6
Exercice 1
En intégrant sur V'escalicr (Chap. 6, Fig. 1), on obticat :
ww BEA)
- sn Er‘Solutions des exercices 443,
Pour n = J, un raisonnement élémentaire conduit & :
at) z[B+d+ +t]
Exercice 2
4a) La formule :
(ab
stobtient aisément en décomposant la surface hachurée en rectangle
horizontaux. ss
6) Soit (0, n) Vaire de la zone :
N(O.n) = SR — Sul) R
N(O,n) F, = N(O.n)
TE WA &
LaF R
Fron (B-B) R lorsque n+
Le terme D.in représente l'intervatle moyen 1/i. entre deux arrivées succes-
sives, d’oi la formule de Little :
MA Syptimes dexploitation des ordinatewrs
‘Remarque. Cette démonstration donne une interprétation simpie de Ia
relation de Little; en considérant un intervalle de temps tés grand 7. on
peut écrire =
Nr = (ar)R
Cotte égalité s‘obtient intuitivement en évaluant de deux fagons aire de
la zone hachurée : on prenant les sections verticales d'une part, les rectangles
horizontaux dautre part.
Evercice 3
Le systéme d'équations linéaires s'écrit
Dro
En additionnant les deux premigres equations :
Boma
TPR
En additionnant la seconde et la troisigme =
Ps nn?
TOR
TW vient
penne sionien (EY «mc
Nous avons l'identité :
Emons $inmnSa
Se-oatnnlf)
Soit :La sone pen encore it, evra le emp ne pou
soar rer aatam(R)
nose hangenen evs) 241
roenned Satin) + (Gm) ~))
FZ) -']-eFfe-']
‘Nous obtenons :
R
nag U- Pd
dow:
7 [> ==)
ape
cHaPrTRE 7
Exerice 1
extairemessage(m) : lire le message m dan caer
V(sprodeasier) ;
déposer-message(m) : P(sprodeasier)
Pramurexeasir
copier le message m dans casier ;
Vfamutercaer)
V(sservant) ;
Exercice 2
1 faut remarquer que le verroullage et le déverrouillage, exécutts par un
Processus unique, sont en exclusion mutuell,
4) VERROUILLAGE DEVERROUILLAGE
si verrow alore P(smutex-verrou) ;
sverrou = sat sf verrou alors
debut
verrou = fou:
‘51 factewr-bloque alors
‘dbus
Jacteur-bloqie = four
V(sbloc)
fix
Vi snutex-verrou)
36 Spstémes dexpleitation des ordmareurs
FACTEUR : P(ses):
Plamuiex-verrou):
17 verrow alors V{sbloc)
Sinan facteurBloque = wal
Viarnatex-verrou) ;
P(sbioc)
Remarque. La section critique protéeée par smurex-verrou avite la suite
4 événements suivante
— verrouilage,
= test de verrou par le FACTEUR, qui le wouve yra,
— dbverrouillage,
— blocege du FACTEUR derritre sbloc.
>) VERROUIELAGE DEVERROUILLAGE
517 verron alors sh verro alors
début debut
verrou = vrat Yerrou = foux
P(sbloe) V(sbloe)
& fx
FACTEUR : P(ses):
‘1 verrou alors
~ début
Vises);
P(sbloc) :
Visbloc)
aller @ FACTEUR
ke
Exercice 3
Les idées directrices sont les euivantes :
1) Lrarrét du transfert ne peut pas étre instantané : on peut arréter le
FACTEUR (production), mais le PILOTE doit consommer tous les tampons
produits de fagon A ramener les sémaphores sprad et scons & leurs valeurs
initiales,
2) On souhaite que Vopérateur ait impression que Ventrée-sortie est
arrétée ds V'introduction de la commande d'arrét ; pour cela, on n‘imprime
effectivement une ligne que si un booléen avort est a la valeur faex.
3) Dans le schéma simplifié donnt ici (un S/O pour chaque ligne), on peut
se contenter d'un arrét « a une ligne prés »; lest alors inutile d'arréter physi-
quement une entrée-sortie {par Vinstruction H/O).Solutions des exercicer 347
D’oi la solution suivante :
FACTEUR + (ses)
ta gue (articles) et (- avert) fire
dou
Peapod);
V (scons)
faux;
aller @ FACTEUR:
PILOTE : P(scons);
sem gum < nmax) et (7 avort) faire
fin
VE V¢sprod) ;
aller 4 PILOTE.
Dans analyse d'une réponse de Popérateur, on commence par consulter
Sf avort alors aller d VE
‘Sinon si réponse opérateur = «continuer » alors
Dans le processus SERVANT, on réalise les actions suivantes apres détection
el commande darrét 2
1 attendop alors
sebu,
{liend-op = faux;
V(sop)
fm
Remarque. Si on se contente de ce schéme. on peut demander des inter
ventions superfues & 'operateur, par exemple :
— entrée dans la bouele tant que,
— mise a yrai de avori par ie processus SERVANT,
— détection d'une imprimante non opérationnellz par le PILOTE, et
demande d'intervention de opérateur.
On peut pallicr cet inconvénient cn rendant indivisible le test d'avort et
le lancement de Ia sortie (avee un sémaphore savort de valeur initiale 1).
388 Systémer exploitation des ordmateurs
Exercice 4
Le message transmis dans la boite aux lettres doit comporter Je nom d'un
sémaphore sariente, suppose initialement & la valeur 0. Le processus deman-
dour attend la fin du transfert en exécutant P/saitente) ; lorsque le PILOTE
a termin€ la lecture du fichier sur disque, il effectue un V(sottenie) avant de
se brancher 8 FACTEUR,