Vous êtes sur la page 1sur 5

Université de Chlef

Département Informatique
Filière : Master1-IL
Année 2020/2021

Module : Systèmes d’exploitation

Série d’exercices n° 01 : Système de Gestion de Fichiers (SGF)

Exercice 01 :

1. Qu’est ce que le SGF ? Quel est son rôle ?


2. Pourquoi est-il plus rapide d’effacer un fichier que de le copier sur un disque ?
3. Expliquez le principe de chacune des méthodes d’allocation de fichiers suivante : contiguë,
chaînée, indexée. Donnez l’avantage et l’inconvénient de chaque méthode.
4. Expliquez le principe de chacune des méthodes de représentation d’espace libre : vecteur binaire,
liste chaînée. Donnez l’avantage et l’inconvénient de chaque méthode.

Exercice 02 :

On veut accéder au ième bloc d'un fichier (la position actuelle est le bloc 0). Donnez le nombre de
blocs qu'il faut parcourir pour y accéder pour chacune des trois stratégies :
- allocation contigüe
- allocation chainée
- allocation indexée.

Quelle est la stratégie la plus intéressante?

Exercice 03: On considère le SGF du système DOS.


1. Quel est le rôle de la FAT (File Allocation Table) dans ce système ?.
2. Une disquette est gérée avec ce système. Elle a les caractéristiques suivantes :
• nombre de cylindres : 160
• nombre de pistes par cylindre : 2
• nombre de secteurs par piste : 9
• nombre de secteurs par bloc : 2
• tailles d'un secteur : 512 octets
3. Quel est le nombre de blocs existant sur cette disquette ?
4. Quelle est la taille d'une entrée de la FAT?
5. Quel est l'inconvénient de l'utilisation de la FAT ?

Exercice 04 :

On considère le système de gestion de fichiers de Unix. La taille d'un bloc de données est de 2 ko
(kilo-octets). Chaque pointeur (numéro de bloc) occupe 4 octets. Chaque inode comprend 10 liens
directs, 1 lien indirect simple, 1 lien indirect double et 1 lien indirect triple.

1/ Quel est le rôle de l'inode dans ce système ?


2/ Combien de blocs de données et de blocs de liens sont nécessaires pour représenter un fichier
ayant une taille de 600 Ko ? Justifiez avec un schéma.
3/ Même question pour un fichier de 500.000 Ko ?.
4/ Quelle est la taille minimale que doit avoir un fichier pour qu'on soit obligé d'utiliser le lien indirect
triple ?. Justifiez.
5/ Quelle est la taille maximale d'un fichier qu'on peut représenter avec cette organisation ? Quel
serait le nombre de blocs de données et de blocs de liens ?. Justifiez.
(Examen semestriel, UHBC, Janvier 2018)

page 1/5
Université de Chlef
Département Informatique
Filière : Master1-IL
Année 2020/2021

Module : Systèmes d’exploitation

Série d’exercices n° 02 : Synchronisation et Communication de


processus

Exercice n ° 01 :

Soit le code suivant décrivant une opération de crédit d’un compte bancaire C.

Processus Créditeur
Début.
M : Réel ;

Ecrire (‘Donnez le montant à créditer : ‘) ; Lire(M) ;


C :=C+M
Ecrire(‘Opération effectuée’) ;
Fin.

1. Montrez que si ce code est exécuté par plusieurs processus simultanément, on


pourrait avoir des résultats erronés.
2. Définir les termes suivants : Processus, Ressource critique, Région critique, Exclusion
mutuelle.

Exercice n ° 02 :

Soient les 3 processus suivants :

Processus P1 Processus P2 Processus P3


Début Début Début
Cycle Cycle Cycle
A1 A2 A3
Fin Cycle Fin Cycle Fin Cycle
Fin Fin Fin

Proposez un schéma de synchronisation de ces trois processus en utilisant des sémaphores dans
chacun des cas suivants :

- Cas 1 : Les actions Ai ne doivent jamais être simultanées.


- Cas 2 : Les actions Ai ne doivent jamais être simultanées et doivent se dérouler toujours dans
l'ordre A1A2A3A1A2A3...
- Cas 3 : Les actions Ai ne doivent jamais être simultanées et doivent se dérouler toujours dans
l'ordre A1(A2 ou A3)A1(A2 ou A3)...
- Cas 4 : Les actions Ai doivent se dérouler toujours séquentiellement mais dans un ordre
quelconque, par exemple : (A2A1A3)(A2A3A1)...

Exercice n ° 03 :

Un processus doit attendre que n autres processus soient parvenus à un endroit précis pour
poursuivre son exécution. (On dit qu’il y a un point de rendez-vous).
Proposez un schéma de synchronisation pour ce problème.

page 2/5
Exercice n ° 04 : Problème du producteur/Consommateur

Un processus Producteur produit cycliquement une information et la dépose dans un buffer. En


parallèle, et toujours cycliquement, un processus Consommateur consomme au fur et à mesure les
produits déposés. Proposer un schéma de synchronisation des deux processus en utilisant des
sémaphores, et dans les cas suivants :

a) Cas d’un buffer à une seule case.


b) Cas d’un buffer de taille infinie.
c) Cas d’un buffer circulaire (taille finie N).
d) Cas d’un buffer circulaire (taille finie N) avec plusieurs producteurs

Exercice n ° 05 : Problème des Lecteurs/Rédacteurs

Reprendre le problème des lecteurs/rédacteurs utilisant les sémaphores (vu en cours), mais en
donnant une priorité aux rédacteurs.

Exercice n ° 06 :

Trois (3) processus P1, P2 et P3 ont les codes suivants :

Processus P1 Processus P2 Processus P3


Debut Debut Debut
A; C; E
B D
Fin.
Fin. Fin.

On veut que l'action E ne commence qu'après la fin des actions A et C.


1. Résoudre ce problème en utilisant les sémaphores.
2. Résoudre ce problème en utilisant les moniteurs de Hoare.

(Concours de post-graduation de formation à l'étranger, Algérie, 2017)

Exercice n ° 07 :

Utilisez les moniteurs de Hoare pour résoudre le problème des Lecteurs/rédacteurs (priorité aux
lecteurs).

page 3/5
Université de Chlef
Département Informatique
Filière : Master1-IL
Année 2020/2021

Module : Systèmes d’exploitation

Série d’exercices n° 03 : Interblocage & Virtualisation

Exercice n ° 01 :

1. Donnez la définition d’un interblocage en précisant les conditions nécessaires à son


apparition.
2. Montrez sur un exemple simple, comment une utilisation sans précaution des
sémaphores peut conduire à une situation d’interblocage.
3. Les interblocages peuvent être traités selon trois approches : prévention, évitement et
détection-guérison. Expliquez brièvement le principe de chaque approche.
4. Décrivez les différentes techniques utilisées pour la guérison d’un interblocage.

Exercice n ° 02 :

L’état d’un système, à un instant donné, est représenté par les matrices suivantes de
l’algorithme du Banquier :

Processus Allocation Max Available


A B C D A B C D A B C D
P0 0 0 1 2 0 0 1 2 1 5 2 0
P1 1 0 0 0 1 7 5 0
P2 1 3 5 4 2 3 5 6
P3 0 6 3 2 0 6 5 2
P4 0 0 1 4 0 6 5 6

1. Quel est le contenu de la matrice Need ? .


2. Le système est-il dans un état sain ? .
3. Si une requête (0, 4, 2, 0) arrive du processus P1, peut-elle être satisfaite
immédiatement ?.

Exercice n ° 03 :

4 processus simultanés partagent des ressources de 3 types différents (A, B ou C) ; il existe 2


ressources de type A, 5 de type B et 3 de type C. Au cours de son exécution, chaque processus a
besoin d’un nombre maximal de ressources donné par la table MAX suivante :

A B C
P1 2 2 1
P2 0 3 0
P3 1 2 3
P4 0 1 2

A un instant donné, les ressources détenues par les processus sont données par la table suivante :
A B C
P1 1 2 1
P2 0 1 0
P3 0 0 1
P4 0 1 1

page 4/5
Travail à faire : La table suivante correspond aux différentes requêtes possibles d’allocation. Pour
chacune, complétez les trois dernières colonnes en supposant une gestion des ressources par
l’algorithme du Banquier (revenir à chaque fois à la situation initiale).

Les états possibles sont : sains, malsains, impossible.


Les décisions possibles sont : acceptée, mise en attente.

Processus Requête Etat Décision Justification


P1 +A
P2 +B
P3 +A
P3 +B
P3 +C
P4 +C

page 5/5

Vous aimerez peut-être aussi