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 :

1)

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

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

1)

Exercice 6 Pagination

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 ladresse 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 ladresse 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, sil 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 lalgorithme 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

5