• Aucun résultat trouvé

Exercice 2 – Mémoire (7 points)

N/A
N/A
Protected

Academic year: 2022

Partager "Exercice 2 – Mémoire (7 points)"

Copied!
5
0
0

Texte intégral

(1)

Info32B – Systèmes d’Exploitations – année 2017-2018

Examen – 10 janvier 2018

N. Sabouret

— L’épreuve dure 2h00. Tous les documents sont autorisés.

— Le sujet comprend 4 exercices indépendants.

— Toutes vos réponses doivent être justifiées.

— Vous devez répondre sur la copie anonyme et la cacheter.

Exercice 1 – Question de cours (4 points)

1. Qu’est-ce que le bus ? Qu’est-ce qu’un tampon ? (1 point)

Correction :Le bus, c’est une nappe de fils qui permet aux composants du système de communiquer entre eux. Le tampon, c’est ce qui permet aux composants de stocker des données provenant du bus ou en attente de transmission sur le bus.

2. Quelle est la différence entre un appel système et un shell? (1 point)

Correction :Un appel système est une instruction que les processus peuvent utiliser pour invoquer une routine de l’OS, via une interruption. Le shell est l’interface entre l’utili- sateur (humain) et l’OS, qui transforme les opérations de l’humain (clic, commande) en appels systèmes.

3. À quoi sert le mode superviseur (1 point)

Correction :En mode superviseur, les actions de bas-niveau sur le système ne sont pas vérifiées par l’OS : c’est l’OS qui agit directement. Le fait d’avoir un mode superviseur permet que les processus autres que l’OS ne fassent pas n’importe quoi.

Barème : 0,5 pour "contrôler ce que font les processus en mode normal" et 0,5 pour "c’est l’OS qui est en mode superviseur"

4. Quels sont les avantages de la pagination et de la segmentation (1 point)

Correction :La pagination permet de réduire la fragmentation de la mémoire en ayant des blocs tous de même taille. La segmentation permet de découper les processus en blocs logiques cohérents, donc de réduire les appels à des pages différentes.

Exercice 2 – Mémoire (7 points)

Dans un système paginé, les pages font 64 Ko et on autorise chaque processus à utiliser au plus 1024 cadres de la mémoire centrale. On considère la table des pages suivante du processus P1 (les numéros de cadre sont donnés en hexadécimal) :

(2)

Node page Node cadre Bit de validité

00 FF FF 1

01 6C 9E 0

02 AD C8 1

03 CC D4 0

04 02 D5 0

05 89 FF 0

06 67 4A 1

07 00 02 0

1. Quelle est la taille de l’espace d’adressage du processus P1 ? (1 point)

Correction : L’espace d’adressage du processus est l’espace d’adressage virtuel formé par les pages. Comme il y a 8 pages, la taille de l’espace virtuel est de 8*64 Ko = 512 Ko.

2. Quelle adresse physique correspond à l’adresse linéaire 02 D5 6A pour le processus P1 ? (a) FF F2 D5 6A

(b) 00 00 04 6A (c) AD C8 D5 6A

(d) Aucune de celles-là : il y a un défaut de page Justifiez votre réponse. (1,5 points)

Correction :Les 4 derniers chiffres (16 bits) décrivent le décalage (D5 6A, à conserver).

Ensuite, on remplace le numéro de page (02) par le numéro de cadre (AD C8) et c’est donc la réponse C.

Réponse : C

3. La mémoire est aussi segmentée : chaque processus peut accéder à 2048 segments (dont la moitié sont des segments globaux) et les segments sont limités à 2 Mo. L’adresse logique est donc sur 32 bits. On suppose que la table des segments du processus P1 contient les informations suivantes :

segment limite base global

00 00 85 B1 00 06 00 00 0 01 00 02 C7 00 04 01 A0 1 02 00 03 D2 00 02 7D 00 1 03 00 01 25 00 06 85 B2 0 04 00 00 5F 00 07 E2 37 0

Quelle adresse physique correspond à l’adresse logique 00 30 00 F2 pour le processus P1 ?

(a) 67 4A 86 A4 (b) 00 04 04 67

(c) 67 4A 86 D7 (d) CC D4 00 F2

(e) Aucune de celles-là : il y a une erreur de segmentation (f) Aucune de celles-là : il y a un défaut de page

Justifiez votre réponse. (2 points)

(3)

Correction : L’adresse logique se décompose en 0000 0000 001 (numéro de segment = 1) et 10 00 F2 (décalage en hexa). Donc il y a une erreur de segmentation car le segment 1 a une limite plus petite que le décalage.

Réponse : E

4. Quelle adresse physique correspond à l’adresse logique 00 20 02 2A pour le processus P1 ?

(a) AD C8 02 2A (b) AD C8 7F 2A

(c) 02 D5 03 CA (d) 00 04 04 67

(e) Aucune de celles-là : il y a une erreur de segmentation (f) Aucune de celles-là : il y a un défaut de page

Justifiez votre réponse. (2 points)

Correction : L’adresse logique se décompose en 0000 0000 001 (numéro de segment

= 1) et 00 02 2A (décalage en hexa). Le décalage est bien plus petit que la limite du segment. L’adresse linéaire est donc 022A+0401A0 = 04 03 CA (en hexa). Donc c’est la page 4. Mais elle est marquée invalide -> défaut de page.

Réponse : F

5. De combien de mémoire vive dispose le système ? Justifiez votre réponse. (0,5 point) Correction : Le premier cadre indiqué dans la table des pages est sur 16 bits (et tous ses bits sont à 1, donc le cadre numéro216−1est adressé). Donc on peut supposer qu’il y a au moins216 cadres faisant chacun216o = 64Kodans la RAM et donc que la mémoire physique comporte 216×216 = 232 octets, soit 4 Go.

L’exercice est noté sur 7,5 points en tout.

Exercice 3 – Disques RAID (4 points)

Soit les données hexadécimales suivantes :

74 04 A3 DD 2A 27 31 2F DD 63 6A DD 87 F0 01

que l’on souhaite écrire sur un disque RAID constitué de 4 disques et organisé en agrégat par bandes avec un disque de parité (RAID 5). On suppose que les bandes sont constituées d’un seul octet par disque, que la première bande utilise le premier disque pour stocker la parité des trois premiers octets, la deuxième bande verra sa parité enregistrée sur le deuxième disque, la troisième bande sur le troisième disque, etc.

1. Quelle est la capacité totale de ce sous-système RAID5 sachant que chaque disque com- porte 512Go d’espace disponible ? Justifiez. (1 point)

Correction :La capacité totale du système RAID5 est 3×512Go, soit 1,5T o. L’un des disque est globalement utilisé pour stocker la parité.

2. Calculer la parité associée à chaque bande et compléter le tableau suivant. Vous pouvez rajouter des bandes si nécessaire. (2 points)

Correction : Réponse après le tableau

(4)

Disque 0 Disque 1 Disque 2 Disque 3 Bande 0

Bande 1 Bande 2 ...

Disque0 - Disque1 - Disque2 - Disque3

Bande 0 *D3* 74 04 A3

Bande 1 DD *D0* 2A 27

Bande 2 31 2F *C3* DD

Bande 3 63 6A DD *D4*

Bande 4 *76* 87 F0 01

3. Supposons que le disque 1 est tombé en panne. Comment faire pour recalculer les parties de bandes effacées de ce disque ? Expliquez. (1 point)

Correction :En cas de défaillance d’un disque, les données qui s’y trouvaient pourront être reconstituées par l’opération XOR. En effet, l’opération XOR a la propriété suivante : si on considère blocs de taille identique a1, a2, ..., an et si a1 × a2... ×an = p1 alors p1×a1×a2...×an−1 =an.

Exercice 4 – Processus (5 points)

On considère un système de gestion de processus en temps partagé équitable, comme sous Linux, fonctionnant de la manière suivante :

— Chaque processus rentre dans la file avec une certaine priorité, qui correspond à son crédit initial ;

— Le processus avec le plus grand crédit est sélectionné pour une durée maximum égale au quantum de temps ;

— À chaque fin du quantum, le processus exécuté, s’il n’a pas terminé son calcul, perd un crédit ; s’il est toujours l’un des processus les plus crédités (peut-être à égalité avec d’autres processus prêts), il garde la main ;

— Lorsqu’aucun processus prêt n’a de crédit, tous les processus sont recrédités de 50% de leur crédit actuel (arrondi à l’entiersupérieur) plus leur priorité initiale.

On suppose que le quantum de temps est fixé à 2 et on considère 4 processus P1, P2, P3 et P4 dont l’exécution est décrite ci-dessous :

P1 Arrivée à t=0, priorité 3, 5 pas de calcul, 8 pas d’E/S, 3 pas de calcul P2 Arrivée à t=0, priorité 1, 6 pas de calcul

P3 Arrivée à t=1, priorité 4, 4 pas de calcul, 7 pas d’E/S, 2 pas de calcul P4 Arrivée à t=4, priorité 1, 3 pas de calcul

1. En négligeant le temps de commutation, donnez le diagramme de Gantt résultant de l’exécution des processus (3 points)

Correction : Réponse après le barème. J’indique pour chaque date les processus en exécution, prêts et en attente, avec entre parenthèse leur temps restant et leur crédit).

t 0 1 3 5 7 9 11

E P1(5,3) P3(4,4) P3(2,3) P1(4,3) P1(2,2) P2(6,1) P4(3,1) P P2(6,1) P2(6,1) P2(6,1) P2(6,1) P2(6,1) P4(3,1) P2(4,0)

P1(4,3) P1(4,3) P4(3,1) P4(3,1)

A - - - P3(7,2) P3(5,2) P3(3,2) P3(1,2)

P1(8,1) P1(6,1)

(5)

t 12 14 16 R 16 17 20 23 E P3(2,2) P4(2,1) - R P2(4,1) P1(3,5) P2(3,1) - P P2(4,0) P2(4,0) P2(4,0) R - P2(3,1)

P4(2,1) R

A P1(5,1) P1(3,1) P1(1,1) R P1(1,5) -

2. Donnez le temps d’attente moyen, le temps de rotation moyen et le débit sur cet exemple.

Vous devrez indiquer le détail de vos calculs. (2 points) Correction :

Temps d’attente : P1=4, P2=9+7+3=19, P3=0, P4=7+2=9, moyenne = (4+19+0+9)/4

= 8

Rotation avec les ES : P1=20, P2=22, P3=13, P4=12, moyenne=16,75 Rotation sans les ES : P1=12, P2=22, P3=6, P4=12, moyenne=13 Débit : 23/4=5,5

Références

Documents relatifs

— Le processus P3, après son exécution de 2 pas de temps, fait une E/S qui prendra 5 pas de temps puis redemande la main pour 3 pas de temps, puis refait une E/S pour 4 pas de temps

— À chaque fin du quantum, le processus exécuté, s’il n’a pas terminé son calcul, perd un crédit ; s’il est toujours l’un des processus les plus crédités (peut-être

Prenons un fichier de 15 Ko, et qui a donc 4 blocs de fichier (le dernier bloc ayant 1 Ko non utilisé) et supposons que ses trois premiers blocs sont placés dans les secteurs 1000,

On suppose que les bandes sont constituées d'un seul octet par disque, que la première bande utilise le quatrième disque pour stocker la parité des trois premiers octets, la

L’inode (c’est-à-dire le File Control Block) d’un fichier en ext4 contient une list d’extents sur 60 octets (la liste contient donc au plus 4 extents en plus du header).. Quelle

Par contre, on n'a pas besoin de 2 6 pages puisque chaque processus peut adresser au plus 4Ko, il sut de 16 pages de 256o, et donc le numéro de page tient sur 4 bits..

Par exemple, si on a des tables de pages de 4Ko, si toutes les pages utilisées par le processus sont dans le même groupe de pages, alors on ne chargera qu'une table de pages, au lieu

L’ordinateur se compose de plusieurs ………qui sont indispensables pour son fonctionnement.. sont capables d'envoyer des informations à