NOM : PRENOM : GROUPE : CIN :
CODE : SIG. ETUDIANT : SIG. SURVEILLANT :
CODE :
NOTE :
1ère année Licence LFIG, TSI, ECOM Systèmes d’Exploitations I Examen, Mai 2017, 120 min ESEN - Université de la Manouba Amine DHRAIEF - Chiheb-Eddine BEN N’CIR
Cet examen comporte 7 questions, pour un total de 20 points. La clarté de votre expression et la qualité de votre écriture sont deux critères pris en compte dans la notation.
1 Qui suis-je ? (3 points)
- (a) ( [1] / 2 point) Je suis le premier programme qui est lancé à la mise sous tension de l’ordinateur.
(a) BIOS
(b) ( [1] / 2 point) Je suis le secteur 0 du disque dur.
(b) MBR
(c) ( [1] / 2 point) Je suis une structure de donnée associée à un seul fichier. Je contient essentiellement les adresses des blocs de données du fichier.
(c) i-node
(d) ( [1] / 2 point) Je suis une structure de donnée contenant toutes les informations relatives à un processus donné (PID, état, fichiers ouverts,...).
(d) PCB
(e) ( [1] / 2 point) Je suis un appel système qui permet de créer un processus.
(e) fork
(f) ( [1] / 2 point) Je suis un type d’ordonnancement qui ne réagit pas aux interruptions d’horloge.
(f) Ordonnancement non pr
Page 1 sur 8 Points obtenus : sur un total de 3 points
NE RIEN ÉCRIRE ICI
Publicité
2 Gestion des processus (5 points)
2.1 Les Fork bombs (3 points)
- Un wabbit est un type de logiciel malveillant qui s’auto-réplique. Les
Forkbombssont un exemple type de wabbit. LesForkbombssont une forme d’attaque par déni de service contre un système d’exploitation utilisant la fonction "fork". L’objectif desForkbombsest de saturer l’espace disponible dans la liste des processus en créant un très grand nombre de processus très rapidement. Si la table des processus se met à saturer, aucun nouveau programme ne peut démarrer tant qu’aucun autre ne se termine. Non seulement lesForkbombsutilisent de la place dans la table des processus, mais elles utilisent chacune du temps processeur et de la mémoire. En conséquence, le système et les programmes tournant à ce moment-là ralentissent et deviennent même impossibles à utiliser.
(a) (2 points) Proposer un code de Fork bombs .
Solution: Il suffit de mettre un fork dans une boucle infinie.
int main( void ) {
for ( ; ; )
fork ( ) ; return 0; }
(b) (1 point) Proposer une méthode pour prévenir l’exécution d’une telle bombe sur votre système d’exploitation
Page 2 sur 8 Points obtenus : sur un total de 3 points
NOM : PRENOM : GROUPE : CIN :
CODE : SIG. ETUDIANT : SIG. SURVEILLANT :
CODE :
Solution: Pour empêcher une fork bomb, il suffit de limiter le nombre de processus pouvant être exécutés par un programme ou par un utilisateur
2.2 Machine à café intelligente (2 points)
- (2 points) Une machine à café intelligente utilise Ubuntu 17.10 comme système d’exploitation. Dans ce qui suit on se propose d’écrire le squelette d’un des programmes de cette
machine à café intelligente. Le programme en question est responsable de la préparation
du café turc. Ce programme crée et lance successivement trois processus
P1,P2,P3. Le premier processusP1appelle la fonction F1() qui verse 20 ml d’eau dans la tasse et lance le deuxième processusP2.P2appelle la fonction F2() qui ajoute le café à l’eau et lance le troisième processusP3.P3appelle la fonction F3() qui porte le mélange ainsi obtenu à ébullition deux fois de suite et présente la tasse à l’utilisateur qui sucrera à sa convenance. On vous demande d’écrire le squelette de ce programme. Le squelette du code ne contient que les structures conditionnelles, itératives, les appels systèmes adéquats et les appels aux fonctions F1(), F2() et F3().
Solution:
int main( void ) { pid_t p1, p2, p3 ;
int i ; i f (( p1=fork ( ) ) == 0) {
F1 ( ) ;
Page 3 sur 8 Points obtenus : sur un total de 2 points
Publicité
NE RIEN ÉCRIRE ICI
i f (( p2=fork ( ) ) == 0) {
F2 ( ) ;
i f (( p3=fork ( ) ) == 0) {
F3 ();}}}
return 0; }
3 Ordonnancement (3 points)
- La famine est un problème que peut avoir un algorithme d’ordonnancement. Il se produit lorsqu’un algorithme d’ordonnancement n’est pas équitable, c’est-à-dire qu’il ne garantit pas à tous les processus souhaitant accéder au CPU une probabilité non nulle d’y parvenir en un temps fini
(a) (1 point) Parmi les algorithmes d’ordonnancement suivants : FCFS(PAPS), Tourniquet(Round Robin), Shortest Remaining Time, Shortest Job First, quels sont les algorithmes susceptibles de provoquer la famine dans un système multitâche ? Justifier votre réponse.
Solution: Les non-prémentifs car une fois lancer, rien ne peut arrêter un processus pour moi SRT peut aussi tomber dans le problème de famine condition= chaque fois il y a arrivée de nouveau petit processus alors qu’il y a un processus long qui attend l’exécution À l’infinie
- On considère le cas d’un système mono-processeur, qui à la date t=0 ms est libre et une file d’attente des processus prêts décrit par le tableau ci-dessous.
Page 4 sur 8 Points obtenus : sur un total de 1 points
NOM : PRENOM : GROUPE : CIN :
CODE : SIG. ETUDIANT : SIG. SURVEILLANT :
CODE :
Numéro du processus Date d’arrivée (ms) Durée d’exécution (ms) P1 0 3 P2 2 6 P3 4 4 P4 6 5 P5 8 2
(a) ( [1] / 2 point) Schématiser par un diagramme de Gantt le résultat de la politique d’ordonnancement round robin avec un quantum Q=4.
Solution:
| P1 | P1 | P1 | P2 | P2 | P2 | P2 | P3 | P3 | P3 | P3 | P4 | P4 | P4 | P4 | P2 | P2 | P5 | P5 | P4 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
(b) ( [1] / 2 point) Calculer le temps de séjour moyen obtenu avec round robin et un quantum Q=4.
Solution: temps de réponse moyen : 10ms.
Publicité
(c) ( [1] / 2 point) Schématiser par un diagramme de Gantt le résultat de la politique d’ordonnancement shortest remaining time.
Solution:
| P1 | P1 | P1 | P2 | P3 | P3 | P3 | P3 | P5 | P5 | P2 | P2 | P2 | P2 | P2 | P4 | P4 | P4 | P4 | P4 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
(d) ( [1] / 2 point) Calculer le temps de séjour moyen obtenu avec shortest remaining time.
Solution: temps de réponse moyen : 7.2ms.
Page 5 sur 8 Points obtenus : sur un total de 2 points
NE RIEN ÉCRIRE ICI
4 Gestion des Fichiers (9 points)
4.1 Disque Dur de 256 TB en FAT 32 ? (5 points)
- En 2025, les spécialistes envisagent que la taille moyenne des disques durs sera de 256 TB (1 TB = 2 [10] GB = 2 [20] MB = 2 [30] KB = 2 [40] B ). Un ancien étudiant de l’ESEN décide de formater son disque dur en FAT-32 en choisissant une taille de bloc physique de 4 KB.
(a) (1 point) Est-ce qu’il peut exploiter la totalité de son disque en le formatant en FAT-32 et en choisissant des blocs physique de 4KB ? justifier votre réponse.
Solution: Non. La taille maximale avec FAT-32 et des blocs de 4KB = 2 [28] ∗ 2 [12] = 2 [40] = 1 TB <<< 256 TB
(b) (1 point) Conscient des limites technologiques de FAT-32 étudiées durant le cours système d’exploitation 1 en 2017, cet ancien étudiant décide d’augmenter la taille du bloc de 4KB à 1MB. Peut-il à présent formater son disque dur en FAT-32 ?
Solution: Théoriquement oui, la taille maximale avec FAT-32 et des blocs de 1MB = 2 [28] ∗ 2 [20] = 2 [48] = 256 TB
(c) (1 point) Quelle est dans ce cas de figure la taille de la table FAT en MB ?
Solution: Nombre de blocs = 2 [48] / 2 [20] = 2 [28] blocs Taille d’une entrée = 28 bit Taille de la FAT = 28 bit ∗ 2 [28] = 7516192768 bit = 896 MB
Page 6 sur 8 Points obtenus : sur un total de 3 points
NOM : PRENOM : GROUPE : CIN :
CODE : SIG. ETUDIANT : SIG. SURVEILLANT :
CODE :
(d) (1 point) En sachant que la taille moyenne des fichiers utilisés sur ce disque est de 512KB, auriez-vous adopter la solution proposée précédemment ?
Publicité
Solution: Non, car trop de gaspillage, 512KB de chaque blocs reste vide !
(e) (1 point) L’ancien étudiant de l’ESEN décide de modifier le FAT-32 en adoptant un espace d’adressage de blocs plus important tout en gardant des blocs de 4KB. Quelle est la taille minimal en bit de l’adresse à choisir ?
Solution: Taille min de l’adresse = 36 bit FAT-36. 2 [36] ∗ 2 [12] = 2 [48] = 256 TB
4.2 Les possibilités de l’i-node (4 points)
On rappelle que sous Unix, un fichier est représenté de façon interne par la structure de données i-node. Soit la structure suivante d’un i-node :
un ensemble de 10 adresses directes qui pointent vers des blocs contenant les premières données du fichier
un pointeur indirect simple, qui pointe vers un bloc contenant des adresses directes.
un pointeur indirect double, qui pointe vers un bloc contenant des adresses indirectes où chacune des ces adresses pointe aussi vers un bloc contenant des adresses directes. En supposant que la taille d’un bloc est de 512 octets et que la taille d’une adresse de bloc de données est de 4 octets, indiquer (en nombre de blocs et en octets) :
(a) (2 points) la taille minimale d’un fichier non vide ?
Page 7 sur 8 Points obtenus : sur un total de 4 points
NE RIEN ÉCRIRE ICI
Solution: Un fichier une fois créé va occuper au minimum 01 bloc ; sa taille est au moins égale à 512 octets
(b) (2 points) la taille maximale d’un fichier ?
Solution: Avec 128 entrées pour chaque table de pointeurs et 512 octets par bloc, cela donne des fichiers d’au maximum 10 + 128+ 16.384=16522 blocs soit 16522*512= 8459264 octets
| Page: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Total |
|---|---|---|---|---|---|---|---|---|---|
| Points: | 3 | 3 | 2 | 1 | 2 | 3 | 4 | 2 | 20 |
| Score: |
Page 8 sur 8 Fin de l’Examen