Vous êtes sur la page 1sur 5

IAI-CAMEROUN- PROGRAMMATION SYSTEME

FICHE DE TD : Programmation Système.


Processus, ordonnancement, mémoire

Exercice 1 – Notions de cours


1) Rappeler brièvement le principe du swapping, de la pagination et de la segmentation
2) Citez les 2 types de fragmentation communément rencontrés et le type de systèmes auxquels
ils se rapportent.

3) Quelle est la différence entre une thread et un processus ? (1 point)

Exercice 2 – Processus
Soit le programme suivant :
int main (){ int i, x,
f; x = 1;
for (i = 0; i < 3; i++) {
f = fork ();
if (f == 0) {
x = x * 2;
printf ("pid %d : %d\n", getpid(), x);

}
}

return 0;
}

Combien de lignes seront imprimées lors de l'exécution du programme ? Indiquez une des
suites possibles. Par exemple :
pid 500 : 2

Exercice 3 : Processus
On considère les processus suivants, définis par leur durée (réelle ou estimée), leur date d'arrivée
et leur priorité:
➢ P1 durée: 9, date 0, priorité 3
➢ P2 durée: 7, date 2, priorité 3
➢ P3 durée: 4, date 2, priorité 1
➢ P4 durée: 8, date 4, priorité 2
➢ P5 durée: 2, date 6, priorité 4
1. Dessinez un diagramme de Gantt correspondant au résultat d'un ordonnancement préemptif
plus court d'abord (avec remise en fin de file) et indiquez le temps d'attente moyen.
(2 points)
2. Dessinez un diagramme de Gantt correspondant au résultat d'un ordonnancement « Round
Robin » avec un quantum de temps fixé à 2 et indiquez le temps d'attente moyen.
3. Quel est le meilleur algorithme suivant le critère du temps d'attente moyen ? Du temps
d'attente min-max?

1
IAI-CAMEROUN- PROGRAMMATION SYSTEME

Exercice 4 – Ordonnancement
On considère les processus suivants, définis par leur durée (réelle ou estimée) et leur date
d’arrivée :
➢ P1 durée : 8, date 0
➢ P2 durée : 3, date 2
➢ P3 durée : 4, date 4
➢ P4 durée : 1, date 4
➢ P5 durée : 4, date 12

1) Dessinez un diagramme de Gantt correspondant au résultat d’un ordonnancement préemptif plus court
d’abord (avec remise en fin de file) et indiquez le temps d’attente moyen.
2) Dessinez un diagramme de Gantt correspondant au résultat d’un ordonnancement « round
robin » avec un quantum de temps fixé à 2 et indiquez le temps d’attente moyen.
3) Quel est le meilleur algorithme suivant le critère du temps d’attente moyen ? Du temps
d’attente min-max ?

Exercice 5 – Ordonnancement

Processus Durée de Echéance


traitement
P1 4 5
P2 5 12
P3 2 7

Soit trois processus pour lesquels la durée des calculs et la date à laquelle on attend au plus
tard les résultats (échéance) sont données dans le tableau suivant :
1) Que donne la politique Round-Robin avec un quantum de 1 unité de temps, sachant que tous
les processus ont la même priorité et qu'ils se trouvent dans l'ordre P1, P2, P3 dans la file
d'attente des processus prêts ? Dessiner le chronogramme d'exécution et indiquer les temps
de rotation, les temps d'attente des processus.
Les échéances sont-elles respectées ?
2) Même question en appliquant la politique d'ordonnancement SJF non préemptif.
3) En utilisant un algorithme d'ordonnancement à priorités fixes, indiquez comment attribuer
les priorités de façon à obtenir tous les résultats au plus tard à leur échéance ? Donner
le nouvel ordonnancement produit par cette politique.

2
IAI-CAMEROUN- PROGRAMMATION SYSTEME

Exercice 6 – Pagination
1) Expliquez pourquoi les tailles de pages sont toujours une puissance de 2
2) On suppose un espace d’adresses logiques de 64 pages de 256 octets chacune, représenté dans une
mémoire physique de 128 cadres de pages. Combien de bits comporte l’adresse logique ? L’adresse
physique ? Expliquez.
3) On suppose maintenant un système de 4096 Ko de mémoire haute organisée avec des pages de
32Ko. Décrivez le système d’adressage logique. Quelle est la taille maximum de la table des
pages ? Expliquez.
4) On suppose que, dans le système de la question précédente, on a trois processus qui s’exécutent
sur le système : P1 nécessitant 1250Ko (code, données et pile), P2 nécessitant 100 Ko et P3
nécessitant 200 Ko. Quelle est la quantité de mémoire réellement utilisée par l’exécution de ces
trois processus ?
5) En considérant les huit premières entrées de la table de page présentée par la figure suivante:

N◦ cadre de page N◦ de page Bit de présence/absence


7 0 0
6 0 0
5 0 1
4 2 1
3 0 0
2 1 1
1 0 0
0 3 1
et en supposant une taille de cadre de page de 32Ko, donner les adresses logiques correspondantes aux
adresses physiques 31792 et 90348 ? Expliquez.

Exercice 7 – Pagination

Dans un système paginé, les pages font 256 mots mémoire et on autorise chaque processus
à utiliser au plus 4 cadres de la mémoire centrale. On considère la table des pages suivante
du processus P1 :

Page 0 1 2 3 4 5 6 7
Cadre 011 001 000 010 100 111 101 110
Présence oui non oui Non non non oui non

1) Quelle est la taille de l'espace d'adressage du processus P1 ?

3
IAI-CAMEROUN- PROGRAMMATION SYSTEME

2) De combien de mémoire vive dispose ce système ?


3) Calculez les adresses réelles correspondant aux adresses virtuelles suivantes (vous signalerez
éventuellement les erreurs d'adressage) :
•240, 546, 1578, 2072
4) Que se passe-t-il si P1 génère l'adresse virtuelle 770 ?
5) On considère l’adresse virtuelle suivante : 0000 0000 0000 0111. Sachant que les 4 bits de
poids fort désigne le numéro de page et que 12 bits suivants représentent le déplacement dans la
page, donnez l’adresse physique (exprimée en binaire) correspondant à cette adresse.

Exercice 8 – Segmentation
Segment Base Limite
0 540 234
1 1254 128
2 54 328
3 2048 1024
4 976 200
On considère la table des segments suivante pour un processus P1 :
1) Calculez les adresses réelles correspondant aux adresses virtuelles suivantes (vous signalerez
éventuellement les erreurs d'adressage) :
•(0:128), (1:100), (2:465), (3:888), (4:100), (4:344)

2) L'adresse virtuelle (4,200) est-elle valide ?


Rappel: Les adresses sont données sous la forme (n°segment + deplacement)

Exercice 9 – Mémoire, remplacement des pages


Un processus veut accéder aux pages ci-dessous sur un ordinateur équipé de 3 cadres
(numérotés de 0 à 2) et de 8 pages (numérotées de 0 à 7) : 2, 1, 0, 7, 1, 6, 1, 5, 7, 6, 2, 6, 7, 0, 7,
1, 0, 2, 1, 7.
Faites un schéma qui indique, à chaque accès à une page, l’état de la table des cadres, s’il y a
un défaut de page, et dans ce cas, quelle est la page victime qui sera choisie pour être stockée sur
disque dur lorsque l’algorithme de remplacement des pages est :
1) OPT (algorithme de Belady)
2) FIFO
3) LRU

4
IAI-CAMEROUN- PROGRAMMATION SYSTEME

Exercice 10 : Allocation mémoire contigüe


On se place dans un système de mémoire fixe de 1700 Ko de mémoire répartie en cinq partitions de
100Ko, 500Ko, 200Ko, 300Ko et 600Ko (dans cet ordre).
1. On suppose que le système d'exploitation doit allouer des processus de taille 212Ko,
417Ko, 112Ko et 426Ko (dans cet ordre). Pour chacun des algorithmes suivants, donnez
l'allocation obtenue et le taux de fragmentation:
➢ First-fit (prochain bloc libre)
➢ Best-fit (plus petit bloc libre)
➢ Worst-fit (plus grand bloc libre)
Quel algorithme utilise le plus efficacement la mémoire sur cet exemple ?

Exercice 11 : Algorithmes de remplacement de pages


1) Un programme possède un espace virtuel de 600 mots. On considère la suite des adresses
virtuelles qui suit :
•34; 123; 145; 510; 456; 345; 412; 10; 14; 12; 234; 336; 412.

Donner la suite des numéros de pages référencés, sachant qu'elles comportent 100 mots.

2) Le programme dispose de 300 mots en mémoire centrale. Calculer le taux de défauts de page
(en supposant la mémoire initialement vide) pour les algorithmes :

•a) OPT b) FIFO c) LRU d) FINUFO

Vous aimerez peut-être aussi