Sunteți pe pagina 1din 8

Cours 14 : Les Processus

Q14.1 : Nommez quatre lments contenus dans le Process Control Block (PCB)?
Voir lactate 9 du cours 14 : PID, pointeurs sur des processus parents ou enfants, program counter, registres,
pointeurs de mmoire, info pour lordonnancement des processus (priorit), pointeurs sur des ressources utiliss,
statistiques sur le PCB

Q14.2 : Dcrivez ce quest un quanta (quantum au pluriel) dans le cadre de systmes


dexploitation multitches?
Un intervalle de temps pendant lequel sexcute un processus unique.

Q14.3 : Supposons la table de processus ci-dessus ou chaque processus de la table a t


admis en mmoire :
Processus

tat

P1
P2
P3
P4
P5

Prt
Prt
En attente dE/S
En cours
Prt

Priorit au
besoin
1
3
2
2
2

# quantum restant
2
3
5
1
6

Supposons quaucun processus ne sajoute en mmoire que P3 demeure en attente dE/S


ternellement. Dites quels seront les processus excuts lors des trois prochains quantum
en fonction de lalgorithme dordonnancement:
a) Tourniquet (Round Robin)
P4 est en cours, donc ce sera :
Processus
Quantum

P5
0

P1
1

P2
2

P4
3

P5
4

P1
5

P2
6

P5
7

P2
8

P5
9

P5
10

P5
11

X
12

X
13

P5
9

P5
10

P5
11

X
12

X
13

b) Plus court dabord (Shortest First)


P4 est le plus court, il finira au prochain quanta. Ensuite P1 est le plus court :
Processus
Quantum

P4
0

P1
1

P1
2

P2
3

P2
4

P2
5

P5
6

P5
7

P5
8

c) Priorit avec tourniquet (Le plus bas est le plus prioritaire. Les processus de mme
priorit sont excuts en tourniquet)
P1 est le plus prioritaire. Ensuite, cest P4 et P5. Comme P4 est en cours, P5 sera excut le prochain dans le
tourniquer :
Processus
Quantum

P1
0

P1
1

P5
2

P4
3

P5
4

P5
5

P5
6

P5
7

P5
8

P2
9

P2
10

P2
11

X
12

X
13

d) Premier arriv, premier servi (First-in, First-out; On assume que les processus sont
arrivs de P1 P5 dans lordre)
P1 est le premier arriv, mais il ne dure que 2 quantum.
Processus
Quantum

P1
0

P1
1

P2
2

P2
3

P2
4

P4
5

P5
6

P5
7

P5
8

P5
9

P5
10

P5
11

X
12

X
13

Pour chacun des quatre algos prcdents :


- dites quel processus sera termin en premier?
a) P4
b) P4
c) P1
d) P1

- quel sera le temps moyen (en quantum) avant de commencer lexcution de chacun de
ces processus si on ne compte pas le processus 3?
Quanta
Algorithme
Round Robin
Shortest First
Priorit
FIFO

P1
1
1
0
0

P2
2
4
2
2

P4
3
0
3
4

P5
0
7
9
6

Moyenne
1.5
3
3.5
3

- quel sera le temps moyen (en quantum) avant la fin de chacun de ces processus si on ne
compte pas le processus 3?
Quanta
Algorithme
Round Robin
Shortest First
Priorit
FIFO

P1
5
3
1
1

P2
8
6
3
4

P4
3
0
8
5

P5
11
11
11
11

Moyenne
6.75
5
5.25
5.25

Q14.4 : Nommez quatre objectifs des algorithmes dordonnancement de processus?


Voir lactate 14 du cours 14

Q14.5 : Quest-ce que la famine (starvation) pour un processus? Ce phnomne peut-il


survenir si la mthode dordonnancement des processus est : le Round-robin? Shortest
first? Priorit?
Starvation = Processus prt qui nest jamais excut
Round-Robin : Starvation impossible
Shortest first : Starvation possible
Priorit: Starvation possible moins que les priorits soient dynamiques et quelles soient modifies afin de
prvenir la starvation (exemple: la priorit dun processus est augmente chaque intervalle de temps pendant
lequel le processus nest pas excut).

Q14.6 : Dcrivez la relation entre un programme, un processus et un thread.


Un processus est un programme charg en mmoire. Un thread est une partie dun processus excut
paralllement qui partage (avec son program counter, sa pile et ses registres), avec les autres threads, les
ressources du processus.

Q14.7 : Dans un contexte de gestion du prochain processus tre excut, que signifie le
mot premption?
Il signifie interrompre le processus en cours pour excuter le systme dexploitation, afin, ventuellement, de
changer le processus en cours.

Q14.8 : Dans les systmes dexploitation modernes, le temps est divis en quantum. Entre
chaque quantum, linterruption du systme dexploitation (une interruption priodique
gnre par une horloge) dcide quel sera le prochain processus tre excut. Quelles
sont les tches minimales effectues dans linterruption du systme dexploitation?
-

Sauvegarder le contexte du processus en cours dexcution (registres, compteur de programme (PC,


CS :IP), pointeur de pile, tat du processus, etc.).
Dterminer quel est le prochain processus tre excut
Charge le contexte du prochain processus tre excut
Lancer le prochain processus tre excut

Q14.9 : Quand un processus devient-il bloqu? Quand sort-il de cet tat?


Un processus devient bloqu lorsquil accde un priphrique ou lorsquil attend un dlai impos par le
programmeur.
Le processus sort de ltat bloqu lorsquune interruption se produit. Soit linterruption du priphrique indique
que le priphrique a produit le rsultat demand, soit une interruption dhorloge (habituellement celle du
systme dexploitation) indique que le dlai dattente est termin.

Q14.10 : Pourquoi le systme dexploitation a-t-il besoin de ltat En cours dexcution?


Combien de processus peuvent tre dans cet tat simultanment?
Ltat en cours sert indiquer quel processus tait excut lors du dernier quantum. Cet tat sert afin de
dterminer quel processus est excut par le microprocesseur et un seul processus est dans cet tat (avec un seul
cur).

Cours 15 : Gestion de la mmoire


Q15.1 : Dcrivez , pour lallocation contigu de mmoire avec partitions taille variables
pour placer des processus en mmoire , comment le MMU fait la translation entre ladresse
logique dune instruction dun programme son adresse physique en mmoire.
Le MMU contient une table qui dit o commence chaque processus en mmoire. Pour faire la translation entre
une adresse de programme et une adresse de mmoire, il suffit dadditionner ladresse du dbut du processus
ladresse du programme.

Q15.2 :Quest-ce que le TLB?


Table Look-Aside Buffer. Il sagit dune table qui fait la correspondance entre les pages dun programme et les
frames de la mmoire, comme une table de pages. Le TLB est toutefois plus petit, plus rapide daccs, le TLB
nest pas en mmoire, et il ne contient que des rfrences vers les plus rcentes pages de mmoires utilises.

Q15.3 : Supposons une mmoire de 2NKo avec des pages de 2MKo et des programmes ayant
une taille max de 2 OKo? Supposons quune adresse de mmoire contienne 1 octet.
Supposons enfin que le SE utilise une table de page par programme afin de dterminer ou
chaque partie du programme se retrouvera en mmoire.
a) Quelle sera la taille minimum, en bits, de la table de pages pour un programme?
La taille de la table de page en nombre de bit = nombre de pages par programme * nombre de bits pour identifier
la page correspondante en mmoire.
- Il y a 2O/2M pages par programme.
- Il y aura 2N/2M pages de mmoire. Le nombre de bits pour identifier une page de la mmoire
est donc N-M. Exemple : Pour une mmoire de 8Ko avec des pages de 1Ko (N=3 et M=0), il
faudra 3 bits (0 7) pour identifier les 8 pages possibles.
Rponse : 2O/2M * (N-M)

b) Les adresses logiques lintrieur du programme seront sur combien de bits? Les
adresses physiques, lintrieur de la mmoire seront sur combien de bits?

Un programme fait 2OKo et il y a 1 octet par adresse.


Rponse : O + 10 (1Ko = 2^10)

c) Combien de bits constitueront le champ offset de ladresse logique?

Les pages font 2MKo et il y a 1 octet par adresse


Rponse : M + 10 (1Ko = 2^10)

Q15.4 : Supposons que la mmoire contiennent les processus et les espaces vides suivants:
Vide, 10ko
P1, 3ko
Vide, 2ko
P2, 5ko
P3, 8ko
Vide, 6ko
P4, 1ko
Contenu de la mmoire pour Q15.4
Si la squence dvnement suivant survient:

P5 est admis dans la mmoire, P5 a une taille de 2ko


P6 est admis dans la mmoire, P6 a une taille de 5ko
P4 est retir de la mmoire
P7 est admis dans la mmoire, P7 a une taille de 1ko
Donnez le contenu de la mmoire aprs la squence dvnement si la mmoire est alloue
pour des partitions de tailles variables contigus selon lalgorithme qui suit:
a) First-Fit (Premier emplacement adquat)
Vide, 4ko
P6, 4ko
P1, 3ko
Vide, 2ko
P2, 5ko
P3, 8ko
Vide, 4ko
P5, 2ko
P7, 1ko

b) Next-Fit (Premier emplacement adquat aprs le dernier emplacement choisi)


Vide, 3ko
P7, 1k0
P6, 4ko
P1, 3ko
Vide, 2ko
P2, 5ko
P3, 8ko
Vide, 4ko
P5, 2ko
Vide, 1ko

c) Best-Fit (Le plus petit emplacement adquat)


Vide, 10ko
P1, 3ko
P5, 2ko
P2, 5ko
P3, 8ko
P7, 1ko
P5, 5ko
Vide, 1ko

Q15.5 Quels sont les avantages et les dsavantages de lalgorithme First-Fit par rapport
lalgo best-fit lorsque lon parle de stratgie dallocation de mmoire pour des partitions
taille variable?
Avantage de First-Fit : Trs simple et facile implmenter
Dsavantage de First-Fit : Utilise beaucoup le dbut de la mmoire
Dsavantage de First-Fit : Les fragments de mmoire sont plus petits et plus nombreux
Lavantage compense les dsavantages de telle sorte que Best-Fit est rarement utilis .

Q15.6 :Quest-ce quune faute de page?

Cela survient lorsquune page dun programme nest pas charg dans la mmoire et que lon veuille accder
cette page.

Q15.7 :Quest-ce que la dfragmentation dun disque dur ou dune mmoire?


Un processus qui met tous les espaces de mmoire utiliss lun la suite de lautre afin dliminer les trous
(fragmentation).

Q15.8 : Dans quelle condition une page du disque dur sera-t-elle transfre dans la
mmoire? Dans quelle condition une page de la mmoire sera transfre vers le disque
dur?
La page du disque dur sera transfre vers la mmoire lorsque le microprocesseur adressera les donnes ou les
instructions qui sy trouvent.
La page de la mmoire sera transfre vers le disque dur si la mmoire est pleine et quune page de disque dur
doit tre mise en mmoire ou si le processus est termin.

Q15.9 : Quelles informations sont requise pour traduire une adresse virtuelle/logique en
adresse physique lorsque le systme dexploitation alloue de la mmoire pour les processus
avec des partitions de taille variable et que tout le processus est contenu dans la partition?
Ladresse de la mmoire qui correspond ladresse 0 du programme (ladresse de base) et la taille du processus.

Q15.10 : Quels sont les avantages de sparer la mmoire en page de petite taille qui
contiennent une partie des processus seulement par rapport sparer la mmoire en
grande partitions de taille fixe qui contiennent la totalit des processus? Quels sont les
dsavantages?
Avantage: Les programmes peuvent tre plus gros que la mmoire.
Avantage : Moins de perte de mmoire due la fragmentation interne.
Avantage : Le nombre et la taille des partitions limitent moins le nombre et la taille des processus pouvant tre
excuts.
Dsavantage : Beaucoup plus complexe, la translation dadresse est plus lente ou cote plus cher en matriel.
Dsavantage : Beaucoup plus complexe, il faut de la mmoire pour la translation dadresse.

Q15.11 : Pourquoi le registre Program Counter (PC, IP), cest--dire le registre dcrivant
ladresse de la prochaine instruction excuter contient-il une adresse virtuelle/logique
plutt quune adresse physique?
Toutes les instructions excutes par le microprocesseur, cest--dire celles du programme, font rfrence des
adresses virtuelles, cest--dire celles du programme.

Q15.12 : Les informations ncessaires afin de faire la translation dadresse sont-elles


sauvegardes dans la mmoire ou ailleurs? Quelle composante matrielle ou logicielle de
votre ordinateur effectue la translation dadresse?
La translation dadresse doit tre trs rapide (il faut la faire au moins une fois toutes les instructions pour aller
chercher linstruction!). Elle est donc effectuer par du matriel spcialis, le Memory Mangement Unit (MMU).
Le MMU est dans le chipset ou dans le mme circuit intgr que le microprocesseur. Il contient des registres ou
une petite mmoire cache (comme le TLB) lui permettant de maintenir linformation ncessaire sur chaque
processus pour traduire ses adresses. Lorsque la taille des informations ncessaires la traduction dadresse est
trop grande (la totalit des tables de page par exemple), le gros de linformation est plac en mmoire.

Cours 16 : Les Entres/Sorties


Q16.1 : Donnez les avantages et les inconvnients de chaque mthode dE/S prsente dans
le cours (E/S programme, E/S avec interruptions et DMA)?
E/S programme : Lent, trs exigent pour le CPU, trs simple
E/S avec interruptions : Assez rapide, requiert des interventions ponctuelles du CPU, assez simple
DMA : Rapide, requiert du matriel additionnel, requiert peu de temps de CPU

Q16.2 : Pourquoi un module dE/S a-t-il besoin de registres de donne ou dune structure
similaire (tampon pour mmoriser des donnes provenant du CPU ou allant vers le CPU)?
Parce le CPU et les priphriques ne communique pas la mme vitesse.

Q16.3 : Quel est le nom du contrleur remplac par un ? dans la figure ci-dessous :
Donneset
instructions
CPU

Mmoire
Programmes
de traitement
des E/S

Requtes
du CPU et
statuts

Donnes
transfres
par DMA

Appareil

Appareil

Module
DE/S

Module
DE/S

Canal Mutliplexeur.

Q16.4 : Dcrivez le fonctionnement du DMA.


Le CPU demande un transfert de donne dun priphrique la mmoire (ou vice-versa) au contrleur de DMA.
Ensuite, le contrleur de DMA demande le contrle des bus au CPU. Ce dernier accorde le contrle et se
dconnecte des bus (haute impdance). Ensuite, le contrleur de DMA fait le transfert de donnes en contrlant
les bus (le bus dadresse est contrl par un compteur). Aprs le transfert de donnes, le contrle des bus est
redonn au CPU.

Q16.5 : Quel est le taux de bit maximum pouvant tre transmis sur un bus synchrone ayant
12 lignes de contrle, 13 lignes dadresses et 14 lignes de donnes, une horloge de 10MHz,
une mthode darbitrage dcentralise et supportant le DMA?
14 bits * 10MHz = 140Mbits/s

Q16.6 : Transmettre des bits en srie plutt quen parallle est commun pour les interfaces
externe du PC (port srie ou USB par exemple), mais trs rare lintrieur du PC.
Pourquoi?
- Les bus de type srie peuvent tre plus longs que ceux parallle (pas dinterfrence entre les fils lorsquil ny en
a que 1 ou 2, pas de problme de synchronisation de signaux induits par les dlais de transmission si un seul
signal est transmis).
- Les bus de type srie ont moins de fils que les bus de type parallle.
- Les bus de type parallle peuvent tre plus rapides car plusieurs bits sont transmis simultanment.
On veut connecter des priphriques loin du PC sans problme et avec peu de filage, mais communiquer trs
rapidement sur de courtes distances lintrieur du PC.

Q16.7 : laide dun diagramme simple, illustrer ce qui se passe lorsque lusager fait un
accs un priphrique.
Voir lactate 14 du cours 16.

Q16.8 : Lorsquun de vos programme accde un priphrique, il appelle une fonction


dexploitation. En plus de grer laccs au priphrique lui-mme, quelles tches sont
accomplies dans cette fonction?
La fonction, du systme dexploitation, change ltat du processus : elle le rend bloqu. En fonction de
limplmentation du systme, elle peut mme appeler le scheduler de processus dans ce cas.
La fonction gre aussi les accs au priphrique par plusieurs processus ou thread diffrents.

Q16.9 : Quelles sont les principales fonctions des modules dentres-sorties? En dautres
mots, quoi sert le matriel entre le bus et le priphrique?
Il sert dabord dinterface entre les bus de donnes, dadresse et de contrle. Avec des tampons de donnes, il
ajuste la vitesse entre le bus et le priphrique. Enfin. Le matriel gre et contrle le priphrique.

Q16.10 : Pourquoi les interruptions des priphriques sont-elles gres par le systme
dexploitation?
Il y a plusieurs raisons :
-

Le systme dexploitation permet au programmeur de concevoir ses programmes sans se soucier de la


nature des priphriques.
Le systme dexploitation gre le temps de lordinateur. Il est naturel quil gre les interruptions
matrielles.
Quand un priphrique termine une opration, le systme dexploitation le sait. Il peut ajuster les tats
des processus en consquence.

S-ar putea să vă placă și