Vous êtes sur la page 1sur 4

2016/2017 Universit de Technologie de Compigne

SR02 : TD 1
TD Exercices sur deux sances de 2h
Exercice 1. (Multiprogrammation et temps partag)
Les actions de deux programmes sont dfinies comme suit :
P1 : Arrive l'instant 0 P2 : Arrive l'instant 1
Calcul pendant 3 units Calcul pendant 2 units
Impression sur imprimante pendant 2 units Affichage l'cran pendant 2 units
Calcul pendant 2 units Calcul pendant 1 unit
Affichage l'cran pendant 1 unit Impression sur imprimante pendant 2 units
Calcul pendant 3 units FIN.
FIN.

1) Elaborer les diagrammes d'excution dans les cas suivants :


- Systme monoprogramm
- Systme multiprogramm
- Systme temps partag
2) Calculer dans chaque cas le taux d'occupation du CPU.

Exercice 2. (Cheminement d'un programme)

Soit la micro-architecture d'un calculateur illustre la figure suivante :


2016/2017 Universit de Technologie de Compigne

Supposons que chaque instruction occupe un mot mmoire. La dure d'excution d'une instruction est
de 1 unit de temps. Une opration d'entre sortie dure 3 units de temps. Plusieurs programmes
peuvent tre logs simultanment en mmoire centrale. Supposons que le systme d'exploitation alloue
le CPU tour de rle aux processus prts: quantum=2 units de temps. Le systme doit favoriser les
processus qui font plus d'entres sorties. Lorsqu'une entre/sortie est termine, le matriel envoie un
signal qui sera intercept par le systme d'exploitation. A la rception d'un tel signal, le systme
dbloque le processus en attente de la fin de cette opration d'entre / sortie et le met dans la file des
processus prts.
1) Quels sont les tats possibles d'un processus dans ce systme.
2) Quelles sont les files d'attente ncessaires pour grer les processus de ce systme.
3) Y'a-t-il une priorit entre les processus de ce systme. Si oui, comment la calculer ?
4) Dfinir la structure du PCB qui permettra au systme de reprendre l'excution d'un processus
aprs lui avoir rquisitionn le CPU.
5) Soient les deux programmes dfinis comme suit:
Program 1
Var j
j:=3*2
Ecrire j
END.
Program 2
Var i,k
k:=3
Lire i
k:=k+i
Ecrire k
END.
a) Compiler les deux programmes pour avoir le code assembleur correspondant.
b) Charger les deux programmes en mmoire centrale.
c) Drouler l'excution des deux programmes en illustrant l'volution des files d'attentes de PCB,
et les contenus des PCB.
Exercice 3. (Routine d'interruption)
Un calculateur reconnat 6 causes d'interruption, qui sont:
EX: action faite par un organe directement connect
A: fin d'opration sur le canal d'E/S
B: fin d'opration sur le canal d'E/S
C: fin d'opration sur le canal d'E/S
D: fin d'opration sur le canal d'E/S
H: dclenchement de l'horloge
Pour que l'un de ces vnements conduise une interruption, deux conditions sont ncessaires:
le systme d'interruption doit tre actif
2016/2017 Universit de Technologie de Compigne

la condition doit tre arme, ce qui est ralis en plaant un "1" dans la position
correspondante d'un registre masque appel RM. Celui-ci comporte 6 bits qui correspondent
de gauche droite EX, A,B, C, D et H.
L'interruption a alors lieu de la faon suivante:
le compteur ordinal est stock en mmoire l'adresse 0
le systme d'interruption est dsactiv
la valeur I (1(EX), 2(A), 3(B), 4(C), 5(D), 6(H)) est place dans le compteur ordinal.
On dsire programmer la gestion des interruptions de telle sorte que les priorits soient
dcroissantes de EX H. Cette machine dispose entre autres des instructions suivantes :
MOV x,y : transfert de y vers x
STM x : stocke RM dans les 6 bits de droite de x
MSK x : garnit RM avec les 6 bits de droite de x
ACT : active le systme d'interruption
DOR : dsactive le systme d'interruption
CLA x : charge le contenu de x dans l'accumulateur
STO x : range le contenu de l'accumulateur dans x
TRA x : branchement vers l'instruction d'adresse x
TRA @x : branchement indirect vers l'adresse contenu dans x

1) Ecrire le dbut et la fin de la routine d'interruption i, en indiquant notamment les


valeurs des constantes pour chaque cause.
2) Comment le systme se branche vers la routine d'interruption ?
3) En examinant les trois dernires instructions de la routine d'interruption
4) Quel doit tre la valeur de RM linitialisation ?
Exercice 4. (Interruption et Appel au superviseur)
On s'intresse l'tude des interruptions et droutements sur une machine X. La machine comporte
un seul niveau d'interruption (dclench par le passage 0 de l'horloge), un seul droutement et un
seul appel au superviseur. L'horloge proprement dite est un compteur dont le contenu est
dcrment de 1 toutes les 5s. Un appel au superviseur comporte plusieurs paramtres dont le
premier indique la cause de l'appel. Le format du mot d'tat du processeur est donn dans la figure
suivante.

PSW
2016/2017 Universit de Technologie de Compigne

Relev priodique de mesures


L'ordinateur est charg de relever, priodiquement, des mesures sur une installation industrielle.
La prise de mesures doit tre dclenche toutes les 100 ms. Comme la dure de la prise de mesures
est trs infrieure la dure de cet intervalle, l'ordinateur est occup, le reste du temps, l'excution
d'un travail de fond qui est donc, priodiquement interrompu.
- Donner les diffrents programmes ncessaires la ralisation de ce systme.
Ralisation d'un moniteur d'enchanement
Un moniteur d'enchanement lit en squence et fait excuter des travaux qui lui sont soumis. A
chaque travail sont associs un dlai de garde (temps maximal allou pour l'excution de ce travail)
et une adresse de dbut d'excution. Si le dlai de garde est coul avant la fin du travail, le
moniteur l'arrte et lance l'excution du travail suivant. Les programmes sont chargs une adresse
fixe qui n'a pas donc tre spcifie comme paramtre. Chaque travail doit obligatoirement se
terminer par un appel au superviseur SVC(fin), qui marque la fin du travail (cet appel est
automatiquement insr par le compilateur dans le texte du programme de l'utilisateur). L'appel au
moniteur d'enchanement est dclench soit par la fin normale du travail (SVC(fin)), soit par
l'coulement du dlai de garde.
- crire les procdures ncessaires la ralisation de ce moniteur.