Vous êtes sur la page 1sur 124

Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion

Systèmes d’Exploitation
Cours 9/13 : Système de fichiers

Nicolas Sabouret
Université Paris-Sud

Licence 3 - semestre S5

Info32b Systèmes d’Exploitation Nicolas Sabouret 1/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion

Plan

1 Notion de fichier

2 Ouverture de fichier

3 Répertoires

4 Système de fichiers

Info32b Systèmes d’Exploitation Nicolas Sabouret 2/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Rôle dans l’OS File Control Block Opérations

Plan

1 Notion de fichier
Rôle dans l’OS
File Control Block
Opérations

2 Ouverture de fichier

3 Répertoires

4 Système de fichiers

5 Conclusion

Info32b Systèmes d’Exploitation Nicolas Sabouret 3/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Rôle dans l’OS File Control Block Opérations

Système de fichiers
Partie visible de l’OS
Mécanisme de stockage sur un support physique
Accès aux données stockées
Accès aux programmes
Accès à l’ensemble du système informatique

Info32b Systèmes d’Exploitation Nicolas Sabouret 4/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Rôle dans l’OS File Control Block Opérations

Système de fichiers
Partie visible de l’OS
Mécanisme de stockage sur un support physique
Accès aux données stockées
Accès aux programmes
Accès à l’ensemble du système informatique

Définition
Un fichier est une collection nommée d’information accessibles via
un périphérique.

Unité logique
Indépendante du support physique (périphérique)
Abstraction des propriétés physiques
Info32b Systèmes d’Exploitation Nicolas Sabouret 4/47
Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Rôle dans l’OS File Control Block Opérations

Structure d’un fichier

Type de fichier
Code source
Données
Bibliothèque
Fichier exécutable
Point d’accès à un périphérique
etc
→ À chaque type de fichier correspond une structure spécifique !
Généralement indiqué par son extension.

Info32b Systèmes d’Exploitation Nicolas Sabouret 5/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Rôle dans l’OS File Control Block Opérations

Structure d’un fichier : exemples I

Fichiers texte : .txt


Données textuelles à l’usage de l’utilisateur humain
→ Succession de caractères, organisés en lignes séparées par un
caractère spécial (\n, ˆM, . . . selon l’OS)

Fichiers source : .c, .java, . . .


Fourni par un utilisateur humain pour être traité par la machine
→ succession de fonctions et sous-programmes, composés
d’instructions séparées par des symboles spécifiques

Info32b Systèmes d’Exploitation Nicolas Sabouret 6/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Rôle dans l’OS File Control Block Opérations

Structure d’un fichier : exemples II


Bibliothèque : .o, .dll, . . .
Construits par un compilateur à partir d’un fichier source
→ Succession d’octets organisés en blocs interprétables par
l’éditeur de lien

Exécutable : .exe, . . .
→ Succession d’instructions que l’OS peut charger en mémoire
pour exécuter un programme

Info32b Systèmes d’Exploitation Nicolas Sabouret 7/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Rôle dans l’OS File Control Block Opérations

File Control Block

Définition
Structure de données de l’OS pour stocker les informations
nécessaires à la gestion des fichiers

Info32b Systèmes d’Exploitation Nicolas Sabouret 8/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Rôle dans l’OS File Control Block Opérations

File Control Block

Définition
Structure de données de l’OS pour stocker les informations
nécessaires à la gestion des fichiers

Contenu
Nom : stdio : indépendant de l’OS, lisible
Identifiant : numérique, unique, pour l’OS
Type : extension .h ou en-tête de fichier
Emplacement : pointeur sur un périphérique
Taille : en octets ou en blocs
Protection : lecture, écriture, exécution. . .
Date(s) : création, modification, accès. . .
Utilisateur : propriétaire du fichier
Info32b Systèmes d’Exploitation Nicolas Sabouret 8/47
Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Rôle dans l’OS File Control Block Opérations

Partage de fichiers

Définition
Rendre accessible à un utilisateur B un fichier de l’utilisateur A

Info32b Systèmes d’Exploitation Nicolas Sabouret 9/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Rôle dans l’OS File Control Block Opérations

Partage de fichiers

Définition
Rendre accessible à un utilisateur B un fichier de l’utilisateur A
Exemple : lecture de /bin/sh, accès à /dev/mouse0, . . .

Info32b Systèmes d’Exploitation Nicolas Sabouret 9/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Rôle dans l’OS File Control Block Opérations

Partage de fichiers

Définition
Rendre accessible à un utilisateur B un fichier de l’utilisateur A
Exemple : lecture de /bin/sh, accès à /dev/mouse0, . . .

Politique de protection
Définir qui peut accéder à quel(s) fichier(s)
Identifiant utilisateur → identifiant processus
Contrôle d’accès dans le FCB

Info32b Systèmes d’Exploitation Nicolas Sabouret 9/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Rôle dans l’OS File Control Block Opérations

Protection de fichiers I

Liste de contrôle d’accès (ACL)


Utilisateur → droits
Problèmes :
7 l’ensemble des utilisateurs doit être connu a priori
7 taille du FCB ! (grossit avec le nombre d’utilisateurs)

Mot de passe
1 mot de passe par fichier × type d’accès (lecture, écriture, . . . )

7 Pas très pratique → peu utilisé

Info32b Systèmes d’Exploitation Nicolas Sabouret 10/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Rôle dans l’OS File Control Block Opérations

Protection de fichiers II
Classes d’utilisateurs
Exemple : Propriétaires vs Autres
→ quelques bits par fichier

Notion de groupe
3 Ensemble de groupes définis a priori
Ex : admin,dev-disque,user-disque,dev-ram,user-ram
3 FCB : 1 utilisateur + 1 groupe (propriétaires)
Ex : toto.c u=batman, g=dev-disque
3 Utilisateur → liste de groupes
Ex : robin, g=[dev-ram,user-disque]
Ü robin n’a pas accès à toto.c

Info32b Systèmes d’Exploitation Nicolas Sabouret 11/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Rôle dans l’OS File Control Block Opérations

Protection de fichiers III


Exemple : Unix
Classes + groupes
3 classes : utilisateur, groupe, autres
N groupes
3 droits : read, write, execute
Ü 3 × 3 bits par fichier
Exemple :
$ ls -l
total 248
drwx------ 6 nico prof 4096 nov. 20 12:06 private
-rw------- 1 nico prof 2356 déc. 5 15:30 notes.ods
drwxrwx--- 8 nico prof 4096 déc. 4 17:31 doc
-rw-rw-r-- 1 joe student 36 jan. 21 16:49 programme.c
-rwxrwxr-x 1 joe student 996 jan. 28 10:53 programme

Info32b Systèmes d’Exploitation Nicolas Sabouret 12/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Rôle dans l’OS File Control Block Opérations

Notion de répertoire

Définition
Le répertoire est la structure de stockage des informations des
fichiers (les FCB) sur le périphérique (le disque).

Info32b Systèmes d’Exploitation Nicolas Sabouret 13/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Rôle dans l’OS File Control Block Opérations

Notion de répertoire

Définition
Le répertoire est la structure de stockage des informations des
fichiers (les FCB) sur le périphérique (le disque).

Structure
Entrée du répertoire = identifiant du fichier et/ou nom du
fichier
→ deux méthodes d’accès
Contenu du répertoire = FCB des fichiers
Ü plusieurs Ko de données non scindables !

Info32b Systèmes d’Exploitation Nicolas Sabouret 13/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Rôle dans l’OS File Control Block Opérations

Notion de répertoire

Définition
Le répertoire est la structure de stockage des informations des
fichiers (les FCB) sur le périphérique (le disque).

Structure
Entrée du répertoire = identifiant du fichier et/ou nom du
fichier
→ deux méthodes d’accès
Contenu du répertoire = FCB des fichiers
Ü plusieurs Ko de données non scindables !

Principe
L’OS récupère l’information sur les fichiers dans le répertoire
Info32b Systèmes d’Exploitation Nicolas Sabouret 13/47
Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Rôle dans l’OS File Control Block Opérations

Opérations sur un fichier

Appels systèmes de base


Création : allocation espace + entrée répertoire
Lecture : pointeur de lecture
Écriture : pointeur d’écriture
Repositionnement : déplacer un pointeur
Suppression : retrait de l’entrée dans le répertoire
Troncature : vider mais garder l’entrée

Opérations composées
Ex : copie, renommage
→ effectuées à partir des appels systèmes de base

Info32b Systèmes d’Exploitation Nicolas Sabouret 14/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion

Plan

1 Notion de fichier

2 Ouverture de fichier

3 Répertoires

4 Système de fichiers

5 Conclusion

Info32b Systèmes d’Exploitation Nicolas Sabouret 15/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion

Ouverture de fichier

Problème
Nécessité d’accéder au FCB à chaque opération sur le fichier
Le FCB est stocké dans le répertoire du périphérique
→ Très coûteux en accès disque (donc en temps) !

Info32b Systèmes d’Exploitation Nicolas Sabouret 16/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion

Ouverture de fichier

Problème
Nécessité d’accéder au FCB à chaque opération sur le fichier
Le FCB est stocké dans le répertoire du périphérique
→ Très coûteux en accès disque (donc en temps) !

Définition
L’appel système open permet de charger le FCB en mémoire

Accès à un fichier
L’OS impose que tout accès à un fichier soit précédé d’une
ouverture.

Info32b Systèmes d’Exploitation Nicolas Sabouret 16/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion

Table des fichiers ouverts


Stockage des FCB en RAM
La table des fichiers ouverts de l’OS contient l’ensemble des FCB
des fichiers ouverts.
Ouverture → chargement du FCB depuis le répertoire + ajout
dans la table
Fermeture → retrait de la table
Pas d’impact sur le fichier !

Info32b Systèmes d’Exploitation Nicolas Sabouret 17/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion

Table des fichiers ouverts


Stockage des FCB en RAM
La table des fichiers ouverts de l’OS contient l’ensemble des FCB
des fichiers ouverts.
Ouverture → chargement du FCB depuis le répertoire + ajout
dans la table
Fermeture → retrait de la table
Pas d’impact sur le fichier !

Gestion par l’OS


Implicite : open implicite au premier accès
Explicite : exception si le fichier n’a pas été ouvert avant
Une table de fichiers ouverts globale avec compteurs + une
table par processus → fermeture à la terminaison
Info32b Systèmes d’Exploitation Nicolas Sabouret 17/47
Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion

Verrouillage

Principe
Possibilité d’interdire l’accès aux autres processus
Ex : lecteurs/écrivains

Exemple en Java
java.nio.channels.FileLock s = null, e = null;
java.io.RandomAccessFile f = new java.io.RandomAccessFile("nom","rw");
java.nio.channels.FileChannel c = f.getChannel();

e = c.lock(0,f.length()/2,false);
/* écriture */
e.release();

s = c.lock(f.length()/2+1,f.length(),true);
/* lecture */
s.release();

Info32b Systèmes d’Exploitation Nicolas Sabouret 18/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Structure de base Structures multi-niveau

Plan

1 Notion de fichier

2 Ouverture de fichier

3 Répertoires
Structure de base
Structures multi-niveau

4 Système de fichiers

5 Conclusion

Info32b Systèmes d’Exploitation Nicolas Sabouret 19/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Structure de base Structures multi-niveau

Structure des disques

Disque
Structure physique

Partition
Structure logique (disque  virtuel  )
Base : 1 disque = 1 partition
1 disque = N partitions
1 partition = 1 ou N disques (selon OS)

Répertoire
Un répertoire par partition : l’ensemble des FCB
Ü Nom/identifiant → FCB

Info32b Systèmes d’Exploitation Nicolas Sabouret 20/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Structure de base Structures multi-niveau

Répertoire : structure de base


Disque 1 Disque 2 Disque 3
Répertoire

Répertoire

Répertoire
Partition 1 Partition 2 Partition 3

Structure à 1 niveau
3 Nom → FCB
7 Taille du répertoire proportionnelle au nombre de fichiers
→ borner le nombre de fichiers. . .
7 Utilisateur : organiser les fichiers, unicité de nom, . . .

Info32b Systèmes d’Exploitation Nicolas Sabouret 21/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Structure de base Structures multi-niveau

Répertoire : structure de base


Disque 1 Disque 2 Disque 3
Répertoire

Répertoire

Répertoire
Partition 1 Partition 2 Partition 3

Structure à 1 niveau
3 Nom → FCB
7 Taille du répertoire proportionnelle au nombre de fichiers
→ borner le nombre de fichiers. . .
7 Utilisateur : organiser les fichiers, unicité de nom, . . .

Exemple : MSDOS et Windows


Taille limitée à 11 caractères (8 nom + 3 extension)

Info32b Systèmes d’Exploitation Nicolas Sabouret 21/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Structure de base Structures multi-niveau

Répertoire : structure de base


Disque 1 Disque 2 Disque 3
Répertoire

Répertoire

Répertoire
Partition 1 Partition 2 Partition 3

Structure à 1 niveau
3 Nom → FCB
7 Taille du répertoire proportionnelle au nombre de fichiers
→ borner le nombre de fichiers. . .
7 Utilisateur : organiser les fichiers, unicité de nom, . . .

Exemple : MSDOS et Windows


Taille limitée à 11 caractères (8 nom + 3 extension)
→ 5011 fichiers max par répertoire (' 5.1018 )
Info32b Systèmes d’Exploitation Nicolas Sabouret 21/47
Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Structure de base Structures multi-niveau

Répertoire : structure de base


Disque 1 Disque 2 Disque 3
Répertoire

Répertoire

Répertoire
Partition 1 Partition 2 Partition 3

Structure à 1 niveau
3 Nom → FCB
7 Taille du répertoire proportionnelle au nombre de fichiers
→ borner le nombre de fichiers. . .
7 Utilisateur : organiser les fichiers, unicité de nom, . . .

Exemple : Unix et Mac


Taille limitée à 255 octets

Info32b Systèmes d’Exploitation Nicolas Sabouret 21/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Structure de base Structures multi-niveau

Structure à deux niveaux

Principe
Un répertoire par utilisateur
Répertoire des utilisateurs : Master File Directory (MFD)
Identifiant → UFD
Répertoire par utilisateur : User File Directory (UFD)
Nom → FCB
Master File Directory

Nicolas Batman Robin

toto.c titi.txt tutu foo bar truc.c machin chose.dll

User File Directory User File Directory User File Directory

Info32b Systèmes d’Exploitation Nicolas Sabouret 22/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Structure de base Structures multi-niveau

Structure à deux niveaux


Master File Directory

Nicolas Batman Robin

toto.c titi.txt tutu foo bar truc.c machin chose.dll

User File Directory User File Directory User File Directory

Structure à 2 niveau
3 User + Nom → FCB
3 Pas beaucoup plus coûteux en taille
3 Utilisateur : organiser les fichiers, unicité de nom, . . .
7 Taille des répertoires proportionnelle au nombre de fichiers
7 Partage de fichiers

Info32b Systèmes d’Exploitation Nicolas Sabouret 23/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Structure de base Structures multi-niveau

Structure à deux niveaux : avantages et inconvénients

Remarques
Les UFD sont des fichiers
Le nom de chaque UFD doit être unique
mais deux fichiers de deux UFD différents peuvent avoir le
même nom !
nicolas/cours1.pdf batman/cours1.pdf

Accès
Les fichiers des utilisateurs sont isolés
Nommage : partition + utilisateur + nom fichier
toto.c → partition courante, utilisateur du processus
batman/toto.c → partition courante, utilisateur batman (Unix)
c:\batman\toto.c → partition c, utilisateur batman (Windows)

Info32b Systèmes d’Exploitation Nicolas Sabouret 24/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Structure de base Structures multi-niveau

Structure à deux niveaux : partage de fichiers

Fichiers de l’OS
Exemples : bibliothèques, routines, etc
Ü Problème : comment ne pas les charger dans chaque UFD ?

Info32b Systèmes d’Exploitation Nicolas Sabouret 25/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Structure de base Structures multi-niveau

Structure à deux niveaux : partage de fichiers

Fichiers de l’OS
Exemples : bibliothèques, routines, etc
Ü Problème : comment ne pas les charger dans chaque UFD ?

Utilisateur OS
Répertoire d’utilisateur spécial
Recherche par défaut si absent du répertoire de l’utilisateur
Ordre de recherche spécifié (variable PATH)

Info32b Systèmes d’Exploitation Nicolas Sabouret 25/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Structure de base Structures multi-niveau

Structure arborescente

Principe
Généralisation de la structure à 2 niveaux :
Répertoire racine (MFD)
Sous-répertoires, pouvant à leur tour jouer le rôle de MFD

root

sbd1 sbd2

Info32b Systèmes d’Exploitation Nicolas Sabouret 26/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Structure de base Structures multi-niveau

Structure arborescente : implémentation

Fichiers
Bit  répertoire  dans le FCB
Nom unique = chemin depuis la racine (chemin absolu)

OS
Répertoire courant (par processus)
Ü Recherche à partir du répertoire courant (chemin relatif)
Ü Recherche par défaut (PATH)

Appels systèmes
Création/Suppression de répertoire
Changement de répertoire courant

Info32b Systèmes d’Exploitation Nicolas Sabouret 27/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Structure de base Structures multi-niveau

Structure en graphe

Principe
Généralisation de l’arbre avec des liens
Ü Graphe acyclique

Info32b Systèmes d’Exploitation Nicolas Sabouret 28/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Structure de base Structures multi-niveau

Structure en graphe

Principe
Généralisation de l’arbre avec des liens
Ü Graphe acyclique

Liens
Référencer un fichier décrit dans un autre répertoire
Ü bit  lien  dans le répertoire + chemin absolu
Extension : duplication
Ü FCB recopié → copie et original indiscernables
Ü Compteur de liens (pour savoir quand libérer l’espace sur le
support physique)

Info32b Systèmes d’Exploitation Nicolas Sabouret 28/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Structure de base Structures multi-niveau

Structure en graphe : exemple

root

sbd1 sbd2
n
tio
plica
du

ue
liq
bo
m
sy
n
lie

Info32b Systèmes d’Exploitation Nicolas Sabouret 29/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Plan

1 Notion de fichier

2 Ouverture de fichier

3 Répertoires

4 Système de fichiers
Fonctionnement
Montage de répertoire
Implémentation
Allocation

5 Conclusion
Info32b Systèmes d’Exploitation Nicolas Sabouret 30/47
Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Notion de système de fichier

Définition
Comment stocker les informations (données & code) sur le disque
Comment les organiser
Comment y accéder
Définit une norme de gestion (Ex : FAT, NTFS, EXT4FS, NFS. . . )

Info32b Systèmes d’Exploitation Nicolas Sabouret 31/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Notion de système de fichier

Définition
Comment stocker les informations (données & code) sur le disque
Comment les organiser
Comment y accéder
Définit une norme de gestion (Ex : FAT, NTFS, EXT4FS, NFS. . . )

Plus généralement
Organisation de l’ensemble des données et des périphériques gérés
par l’OS
Exemple : Linux
→ chaque périphérique est représenté par un fichier

Info32b Systèmes d’Exploitation Nicolas Sabouret 31/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Notion de système de fichier

Différence avec la RAM


Grande quantité de données
Accès lent (rapport 103 à 106 )

Notion de bloc
Unité de base du support physique
Ü Toutes les données à stocker sont découpées en bloc
Taille fixe (de 32o à 1Mo selon support)
Exemples : disques dur années 2000 = 512o, SSD actuel = 1Mo

Système de fichiers (FileSystem)


Organisation des fichiers en blocs (cf. mémoire paginée)

Info32b Systèmes d’Exploitation Nicolas Sabouret 32/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Structure d’un système de fichiers

Système logique
Structure de répertoires
FCB + gestion de la protection

Système physique
Fichiers → ensemble de blocs logiques
Bloc logique → blocs physique
cf. mémoire paginée

Identification des blocs physiques selon support

Lien : pilote de périphérique


Appel système (ex : chargement bloc 456) → instruction matériel

Info32b Systèmes d’Exploitation Nicolas Sabouret 33/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Montage de répertoire

Le système de fichiers. . .
. . . associe des noms à des blocs logiques (fichiers)
. . . associe des noms à des répertoires venus du disque !

Info32b Systèmes d’Exploitation Nicolas Sabouret 34/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Montage de répertoire

Le système de fichiers. . .
. . . associe des noms à des blocs logiques (fichiers)
. . . associe des noms à des répertoires venus du disque !

Montage de répertoire
Le montage consiste à positionner un répertoire dans le système de
fichier

Principe
Chargement du FCB par l’OS (disque → RAM)
→ Attribué à l’utilisateur du processus
Association dans le MFD au niveau logique
→ Les fichiers deviennent accessibles
Info32b Systèmes d’Exploitation Nicolas Sabouret 34/47
Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Structure de contrôle

Sur le disque
Bloc de démarrage → chargement de l’OS depuis une partition
Bloc de contrôle de partition : Master File Table
Bloc de contrôle de répertoire ou de fichier (FCB)

Info32b Systèmes d’Exploitation Nicolas Sabouret 35/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Structure de contrôle

Sur le disque
Bloc de démarrage → chargement de l’OS depuis une partition
Bloc de contrôle de partition : Master File Table
Bloc de contrôle de répertoire ou de fichier (FCB)

Au niveau de l’OS
Table des partitions/répertoires montés
Cache des répertoires
Table des fichiers ouverts (copie des FCB)
Blocs logiques

Info32b Systèmes d’Exploitation Nicolas Sabouret 35/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Accès à un fichier

Application

Disque

RAM (OS)

Répertoire FCB

Bloc Bloc Bloc

Fichier
Cache répertoires Table fichiers ouverts

Info32b Systèmes d’Exploitation Nicolas Sabouret 36/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Accès à un fichier

Le système de fichier (sur


Application le disque) définit la struc-
turation des données

Disque

RAM (OS)

Répertoire FCB

Bloc Bloc Bloc

Fichier
Cache répertoires Table fichiers ouverts

Info32b Systèmes d’Exploitation Nicolas Sabouret 36/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Accès à un fichier

Le répertoire est monté :


Application il y a un FCB qui le
référence dans la table des
fichiers ouverts!

Disque

RAM (OS)

Répertoire FCB
FCB(dir)

Bloc Bloc Bloc

Fichier
Cache répertoires Table fichiers ouverts

Info32b Systèmes d’Exploitation Nicolas Sabouret 36/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Accès à un fichier

Lors du premier accès à un


Application fichier. . .

open(dir/file.ext)

Disque

RAM (OS)

Répertoire FCB
FCB(dir)

Bloc Bloc Bloc

Fichier
Cache répertoires Table fichiers ouverts

Info32b Systèmes d’Exploitation Nicolas Sabouret 36/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Accès à un fichier

Lors du premier accès à un


Application fichier. . .

open(dir/file.ext)

Disque

RAM (OS)
?
Répertoire FCB
FCB(dir)

Bloc Bloc Bloc

Fichier
Cache répertoires Table fichiers ouverts

Info32b Systèmes d’Exploitation Nicolas Sabouret 36/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Accès à un fichier

Lors du premier accès à un


Application fichier. . .

open(dir/file.ext)

Disque

RAM (OS)

Répertoire FCB
FCB(dir)

Bloc Bloc Bloc

Fichier
Cache répertoires Table fichiers ouverts

Info32b Systèmes d’Exploitation Nicolas Sabouret 36/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Accès à un fichier

Lors du premier accès à un


Application fichier. . .

open(dir/file.ext)

Disque

RAM (OS)

Répertoire FCB
Répertoire FCB(dir)

Bloc Bloc Bloc

accès disque Fichier


Cache répertoires Table fichiers ouverts

Info32b Systèmes d’Exploitation Nicolas Sabouret 36/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Accès à un fichier

Lors du premier accès à un


Application fichier. . .

open(dir/file.ext)

Disque

RAM (OS)

Répertoire FCB
Répertoire FCB(dir)

Bloc Bloc Bloc

Fichier
Cache répertoires Table fichiers ouverts

Info32b Systèmes d’Exploitation Nicolas Sabouret 36/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Accès à un fichier

Lors du premier accès à un


Application fichier. . .

open(dir/file.ext)

Disque

RAM (OS)

Répertoire FCB
Répertoire FCB(dir)

Bloc Bloc Bloc

Fichier
Cache répertoires Table fichiers ouverts

Info32b Systèmes d’Exploitation Nicolas Sabouret 36/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Accès à un fichier

Lors du premier accès à un


Application fichier. . .

open(dir/file.ext)

Disque

RAM (OS)

Répertoire FCB
Répertoire FCB(dir)

Bloc Bloc Bloc


FCB
accès disque Fichier
Cache répertoires Table fichiers ouverts

Info32b Systèmes d’Exploitation Nicolas Sabouret 36/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Accès à un fichier

Lors du premier accès à un


Application fichier. . .

open(dir/file.ext)

Disque

RAM (OS)

Répertoire FCB
Répertoire FCB(dir)

Bloc Bloc Bloc


FCB
Fichier
Cache répertoires Table fichiers ouverts

Info32b Systèmes d’Exploitation Nicolas Sabouret 36/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Accès à un fichier

Accès au fichier ouvert. . .


Application

open(dir/file.ext)
read(dir/file.ext)

Disque

RAM (OS)

Répertoire FCB
Répertoire FCB(dir)

Bloc Bloc Bloc


FCB
Fichier
Cache répertoires Table fichiers ouverts

Info32b Systèmes d’Exploitation Nicolas Sabouret 36/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Accès à un fichier

Accès au fichier ouvert. . .


Application

open(dir/file.ext)
read(dir/file.ext)

Disque

RAM (OS)

Répertoire FCB
Répertoire FCB(dir)

Bloc Bloc Bloc


FCB
Fichier
Cache répertoires Table fichiers ouverts

Info32b Systèmes d’Exploitation Nicolas Sabouret 36/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Accès à un fichier

Accès au fichier ouvert. . .


Application

open(dir/file.ext)
read(dir/file.ext)

Disque

RAM (OS)

Répertoire FCB
Répertoire FCB(dir)

Bloc Bloc Bloc


FCB
Fichier
Cache répertoires Table fichiers ouverts

Info32b Systèmes d’Exploitation Nicolas Sabouret 36/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Accès à un fichier

Accès au fichier ouvert. . .


Application

open(dir/file.ext)
read(dir/file.ext) Bloc

Disque

accès disque

RAM (OS)

Répertoire FCB
Répertoire FCB(dir)

Bloc Bloc Bloc


FCB
Fichier
Cache répertoires Table fichiers ouverts

Info32b Systèmes d’Exploitation Nicolas Sabouret 36/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Allocation

Problème
Fichiers → blocs logiques → blocs physiques
Ü Choix des blocs physiques pour 1 fichier donné

Fichiers : toto.c prog.exe file.dat

Disque :

Info32b Systèmes d’Exploitation Nicolas Sabouret 37/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Allocation

Problème
Fichiers → blocs logiques → blocs physiques
Ü Choix des blocs physiques pour 1 fichier donné

Fichiers : toto.c prog.exe file.dat


etc

Disque :

Info32b Systèmes d’Exploitation Nicolas Sabouret 37/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Allocation

Problème
Fichiers → blocs logiques → blocs physiques
Ü Choix des blocs physiques pour 1 fichier donné

Fichiers : toto.c prog.exe file.dat


etc

Disque :

3 méthodes possibles
Allocation contiguë
Allocation chaı̂née
Allocation indexée
Chaque méthode a ses avantages et inconvénients !

Info32b Systèmes d’Exploitation Nicolas Sabouret 37/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Allocation contiguë

Principe
Ranger les blocs les uns derrière les autres

Fichiers : toto.c prog.exe file.dat

Répertoire : FCB FCB FCB ...

Disque :

Info32b Systèmes d’Exploitation Nicolas Sabouret 38/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Allocation contiguë

Principe
Ranger les blocs les uns derrière les autres

Fichiers : toto.c prog.exe file.dat

Répertoire : FCB FCB FCB ...

Disque :

Info32b Systèmes d’Exploitation Nicolas Sabouret 38/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Allocation contiguë

Principe
Ranger les blocs les uns derrière les autres

Fichiers : toto.c prog.exe file.dat

Répertoire : FCB FCB FCB ...

Disque : prog.exe

Info32b Systèmes d’Exploitation Nicolas Sabouret 38/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Allocation contiguë

Principe
Ranger les blocs les uns derrière les autres

Fichiers : toto.c prog.exe file.dat

Répertoire : FCB FCB FCB ...

Disque : prog.exe toto.c

Info32b Systèmes d’Exploitation Nicolas Sabouret 38/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Allocation contiguë

Principe
Ranger les blocs les uns derrière les autres

Fichiers : toto.c prog.exe file.dat

Répertoire : FCB FCB FCB ...

Disque : prog.exe toto.c file.dat

Info32b Systèmes d’Exploitation Nicolas Sabouret 38/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Allocation contiguë

Principe
Ranger les blocs les uns derrière les autres

Avantages
3 Accès au bloc suivant : aucun coût
3 FCB : adresse bloc départ + taille

Inconvénients
7 Fragmentation (compactage coûteux)
7 Connaı̂tre à l’avance la taille des fichiers
7 Recherche d’espace libre coûteux
7 Stratégies d’allocation (BestFit, FirstFit, WorstFit) à définir
Info32b Systèmes d’Exploitation Nicolas Sabouret 38/47
Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Allocation chaı̂née

Principe
Fichier = liste chaı̂née de blocs

Fichiers : toto.c prog.exe file.dat

Répertoire : FCB FCB FCB ...

Disque :

Info32b Systèmes d’Exploitation Nicolas Sabouret 39/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Allocation chaı̂née

Principe
Fichier = liste chaı̂née de blocs

Fichiers : toto.c prog.exe file.dat

Répertoire : FCB FCB FCB ...

Disque :

Info32b Systèmes d’Exploitation Nicolas Sabouret 39/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Allocation chaı̂née

Principe
Fichier = liste chaı̂née de blocs

Fichiers : toto.c prog.exe file.dat

Répertoire : FCB FCB FCB ...

Disque :

Info32b Systèmes d’Exploitation Nicolas Sabouret 39/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Allocation chaı̂née

Principe
Fichier = liste chaı̂née de blocs

Fichiers : toto.c prog.exe file.dat

Répertoire : FCB FCB FCB ...

Disque :

Info32b Systèmes d’Exploitation Nicolas Sabouret 39/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Allocation chaı̂née

Principe
Fichier = liste chaı̂née de blocs

Avantages
3 FCB : adresse premier et dernier blocs
3 Pas de fragmentation
3 Fichiers taille quelconque

Inconvénients
7 Accès séquentiel : Ne bloc → N accès disques !
7 Fiabilité : 1 bloc endommagé → tout le fichier est perdu
7 Espace utilisé par les pointeurs (relativement négligeable)
Info32b Systèmes d’Exploitation Nicolas Sabouret 39/47
Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Allocation indexée

Principe
Rassembler tous les pointeurs dans un bloc d’index
(1 bloc par fichier)

Fichiers : toto.c prog.exe file.dat

Répertoire : FCB FCB FCB ...

Disque :

Info32b Systèmes d’Exploitation Nicolas Sabouret 40/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Allocation indexée

Principe
Rassembler tous les pointeurs dans un bloc d’index
(1 bloc par fichier)

Fichiers : toto.c prog.exe file.dat

Répertoire : FCB FCB FCB ...

Disque :

Info32b Systèmes d’Exploitation Nicolas Sabouret 40/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Allocation indexée

Principe
Rassembler tous les pointeurs dans un bloc d’index
(1 bloc par fichier)

Fichiers : toto.c prog.exe file.dat

Répertoire : FCB FCB FCB ...

Disque : Index

Info32b Systèmes d’Exploitation Nicolas Sabouret 40/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Allocation indexée

Principe
Rassembler tous les pointeurs dans un bloc d’index
(1 bloc par fichier)

Fichiers : toto.c prog.exe file.dat

Répertoire : FCB FCB FCB ...

Disque : Index

@bloc0
@bloc1
@bloc2
@bloc3

Info32b Systèmes d’Exploitation Nicolas Sabouret 40/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Allocation indexée

Principe
Rassembler tous les pointeurs dans un bloc d’index
(1 bloc par fichier)

Fichiers : toto.c prog.exe file.dat

Répertoire : FCB FCB FCB ...

Disque : Index Index

@bloc0
@bloc1
@bloc2
@bloc3

Info32b Systèmes d’Exploitation Nicolas Sabouret 40/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Allocation indexée

Principe
Rassembler tous les pointeurs dans un bloc d’index
(1 bloc par fichier)

Fichiers : toto.c prog.exe file.dat

Répertoire : FCB FCB FCB ...

Disque : Index Index

@bloc0
@bloc1
@bloc2
@bloc3

Info32b Systèmes d’Exploitation Nicolas Sabouret 40/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Allocation indexée

Principe
Rassembler tous les pointeurs dans un bloc d’index
(1 bloc par fichier)

Avantages
3 Pas de fragmentation
3 Accès direct (2 accès disque)

Inconvénients
7 1 bloc perdu par fichier
7 Taille fichier limitée par taille bloc
64 bits × 64 blocs = 512o ⇒ max = 64×512o = 32 Ko

Info32b Systèmes d’Exploitation Nicolas Sabouret 40/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Allocation indexée

Problème
Fichiers nécessitant plus d’un bloc d’index

Exemple :
512Kio de disque, blocs de 8o (exemple non réaliste !)

Ü Taille de l’adresse = ?

Info32b Systèmes d’Exploitation Nicolas Sabouret 41/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Allocation indexée

Problème
Fichiers nécessitant plus d’un bloc d’index

Exemple :
512Kio de disque, blocs de 8o (exemple non réaliste !)

3 Taille de l’adresse = 219 ÷ 23 = 216 = 16 bits = 2 octets


Ü Nombre max d’index/bloc = ?

Info32b Systèmes d’Exploitation Nicolas Sabouret 41/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Allocation indexée

Problème
Fichiers nécessitant plus d’un bloc d’index

Exemple :
512Kio de disque, blocs de 8o (exemple non réaliste !)

3 Taille de l’adresse = 219 ÷ 23 = 216 = 16 bits = 2 octets


3 Nombre max d’index/bloc = 8 ÷ 2 = 4 blocs
Ü Taille max d’un fichier = ?

Info32b Systèmes d’Exploitation Nicolas Sabouret 41/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Allocation indexée

Problème
Fichiers nécessitant plus d’un bloc d’index

Exemple :
512Kio de disque, blocs de 8o (exemple non réaliste !)

3 Taille de l’adresse = 219 ÷ 23 = 216 = 16 bits = 2 octets


3 Nombre max d’index/bloc = 8 ÷ 2 = 4 blocs
3 Taille max d’un fichier = 4 blocs = 32o

Info32b Systèmes d’Exploitation Nicolas Sabouret 41/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Allocation indexée

Problème
Fichiers nécessitant plus d’un bloc d’index

Exemple :
512Kio de disque, blocs de 8o (exemple non réaliste !)

3 Taille de l’adresse = 219 ÷ 23 = 216 = 16 bits = 2 octets


3 Nombre max d’index/bloc = 8 ÷ 2 = 4 blocs
3 Taille max d’un fichier = 4 blocs = 32o
Fichier : mon gros fichier de 8 blocs (64o)

Disque :

Info32b Systèmes d’Exploitation Nicolas Sabouret 41/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Allocation indexée

Problème
Fichiers nécessitant plus d’un bloc d’index

Exemple :
512Kio de disque, blocs de 8o (exemple non réaliste !)

3 Taille de l’adresse = 219 ÷ 23 = 216 = 16 bits = 2 octets


3 Nombre max d’index/bloc = 8 ÷ 2 = 4 blocs
3 Taille max d’un fichier = 4 blocs = 32o
Fichier : mon gros fichier de 8 blocs (64o)

Disque :

Info32b Systèmes d’Exploitation Nicolas Sabouret 41/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Allocation indexée

Problème
Fichiers nécessitant plus d’un bloc d’index

Exemple :
512Kio de disque, blocs de 8o (exemple non réaliste !)

3 Taille de l’adresse = 219 ÷ 23 = 216 = 16 bits = 2 octets


3 Nombre max d’index/bloc = 8 ÷ 2 = 4 blocs
3 Taille max d’un fichier = 4 blocs = 32o
Fichier : mon gros fichier de 8 blocs (64o)

Disque : Index ? ? ? ?

Info32b Systèmes d’Exploitation Nicolas Sabouret 41/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Solution 1 : liste chaı̂née de blocs d’index

Principe
Le répertoire pointe vers un bloc d’index
Chaque bloc d’index se termine par un pointeur vers un autre
bloc d’index

Fichier : mon gros fichier de 8 blocs (64o)

Disque :

Info32b Systèmes d’Exploitation Nicolas Sabouret 42/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Solution 1 : liste chaı̂née de blocs d’index

Principe
Le répertoire pointe vers un bloc d’index
Chaque bloc d’index se termine par un pointeur vers un autre
bloc d’index

Fichier : mon gros fichier de 8 blocs (64o)

Disque : Index

Info32b Systèmes d’Exploitation Nicolas Sabouret 42/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Solution 1 : liste chaı̂née de blocs d’index

Principe
Le répertoire pointe vers un bloc d’index
Chaque bloc d’index se termine par un pointeur vers un autre
bloc d’index

Fichier : mon gros fichier de 8 blocs (64o)

Disque : Index Index

Info32b Systèmes d’Exploitation Nicolas Sabouret 42/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Solution 1 : liste chaı̂née de blocs d’index

Principe
Le répertoire pointe vers un bloc d’index
Chaque bloc d’index se termine par un pointeur vers un autre
bloc d’index

Fichier : mon gros fichier de 8 blocs (64o)

Disque : Index Index

Info32b Systèmes d’Exploitation Nicolas Sabouret 42/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Solution 1 : liste chaı̂née de blocs d’index

Principe
Le répertoire pointe vers un bloc d’index
Chaque bloc d’index se termine par un pointeur vers un autre
bloc d’index

Fichier : mon gros fichier de 8 blocs (64o)

Disque : Index Index Index

Info32b Systèmes d’Exploitation Nicolas Sabouret 42/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Solution 1 : liste chaı̂née de blocs d’index

Principe
Le répertoire pointe vers un bloc d’index
Chaque bloc d’index se termine par un pointeur vers un autre
bloc d’index

Avantages
3 Pas de fragmentation
3 Taille de fichier quelconque

Inconvénients
7 N blocs perdus par fichier
7 Accès indirect (≥2 accès disque) mais plus rapide que la liste
chaı̂née de blocs !
Info32b Systèmes d’Exploitation Nicolas Sabouret 42/47
Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Solution 2 : indexation à plusieurs niveaux

Principe
Le répertoire pointe vers un bloc d’index  maı̂tre 

Le bloc maı̂tre pointe vers des blocs d’index


→ n2 blocs indexables au lieu de n
Ex : 16 blocs au lieu de 4
Éventuellement, indexation sur 3 niveaux (n3 )

Fichier : mon gros fichier de 8 blocs (64o)

Disque :

Info32b Systèmes d’Exploitation Nicolas Sabouret 43/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Solution 2 : indexation à plusieurs niveaux

Principe
Le répertoire pointe vers un bloc d’index  maı̂tre 

Le bloc maı̂tre pointe vers des blocs d’index


→ n2 blocs indexables au lieu de n
Ex : 16 blocs au lieu de 4
Éventuellement, indexation sur 3 niveaux (n3 )

Fichier : mon gros fichier de 8 blocs (64o)

Disque : Index

Info32b Systèmes d’Exploitation Nicolas Sabouret 43/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Solution 2 : indexation à plusieurs niveaux

Principe
Le répertoire pointe vers un bloc d’index  maı̂tre 

Le bloc maı̂tre pointe vers des blocs d’index


→ n2 blocs indexables au lieu de n
Ex : 16 blocs au lieu de 4
Éventuellement, indexation sur 3 niveaux (n3 )

Fichier : mon gros fichier de 8 blocs (64o)

Disque : Index Index Index Index Index

Info32b Systèmes d’Exploitation Nicolas Sabouret 43/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Solution 2 : indexation à plusieurs niveaux

Principe
Le répertoire pointe vers un bloc d’index  maı̂tre 

Le bloc maı̂tre pointe vers des blocs d’index


→ n2 blocs indexables au lieu de n
Ex : 16 blocs au lieu de 4
Éventuellement, indexation sur 3 niveaux (n3 )

Fichier : mon gros fichier de 8 blocs (64o)

Disque : Index Index Index Index Index

Info32b Systèmes d’Exploitation Nicolas Sabouret 43/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Solution 2 : indexation à plusieurs niveaux

Principe
Le répertoire pointe vers un bloc d’index  maı̂tre 

Le bloc maı̂tre pointe vers des blocs d’index

Avantages
3 Pas de fragmentation
3 Taille de fichier quelconque
3 Accès direct (3 accès disque max + possibilité index en cache)

Inconvénients
7 ≥2 blocs perdus par fichier
(même si on ne crée pas les index en trop)

Info32b Systèmes d’Exploitation Nicolas Sabouret 43/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Schéma combiné (ex : Linux extfs)

Principe
Ü Combiner allocation chaı̂née et allocation indexée
Index = k premiers blocs du fichier + n − k blocs d’indirection
(index 2 à n − k + 1)
3 Moins de perte pour les petits fichiers
3 Accès rapide

Fichier : mon gros fichier de 8 blocs (64o)

Disque :

Info32b Systèmes d’Exploitation Nicolas Sabouret 44/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Schéma combiné (ex : Linux extfs)

Principe
Ü Combiner allocation chaı̂née et allocation indexée
Index = k premiers blocs du fichier + n − k blocs d’indirection
(index 2 à n − k + 1)
3 Moins de perte pour les petits fichiers
3 Accès rapide

Fichier : mon gros fichier de 8 blocs (64o)

Disque : Index

Info32b Systèmes d’Exploitation Nicolas Sabouret 44/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Schéma combiné (ex : Linux extfs)

Principe
Ü Combiner allocation chaı̂née et allocation indexée
Index = k premiers blocs du fichier + n − k blocs d’indirection
(index 2 à n − k + 1)
3 Moins de perte pour les petits fichiers
3 Accès rapide

Fichier : mon gros fichier de 8 blocs (64o)

Disque : Index

Ici, k=2 (et n=4)


Info32b Systèmes d’Exploitation Nicolas Sabouret 44/47
Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Schéma combiné (ex : Linux extfs)

Principe
Ü Combiner allocation chaı̂née et allocation indexée
Index = k premiers blocs du fichier + n − k blocs d’indirection
(index 2 à n − k + 1)
3 Moins de perte pour les petits fichiers
3 Accès rapide

Fichier : mon gros fichier de 8 blocs (64o)

Disque : Index Index Index

Ici, k=2 (et n=4)


Info32b Systèmes d’Exploitation Nicolas Sabouret 44/47
Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Schéma combiné (ex : Linux extfs)

Principe
Ü Combiner allocation chaı̂née et allocation indexée
Index = k premiers blocs du fichier + n − k blocs d’indirection
(index 2 à n − k + 1)
3 Moins de perte pour les petits fichiers
3 Accès rapide

Fichier : mon gros fichier de 8 blocs (64o)

Disque : Index Index Index

Ici, k=2 (et n=4)


Info32b Systèmes d’Exploitation Nicolas Sabouret 44/47
Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

Schéma combiné (ex : Linux extfs)

Principe
Ü Combiner allocation chaı̂née et allocation indexée
Index = k premiers blocs du fichier + n − k blocs d’indirection
(index 2 à n − k + 1)
3 Moins de perte pour les petits fichiers
3 Accès rapide

Fichier : mon gros fichier de 8 blocs (64o)

Disque : Index Index Index Index

Ici, k=2 (et n=4)


Info32b Systèmes d’Exploitation Nicolas Sabouret 44/47
Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

File Allocation Table (FAT)

Principe
Utilisé sous MSDOS (Intel) et OS/2 (IBM)
Allocation indexée
Liste chaı̂née des index des blocs en début de chaque partition

Fichier : mon gros fichier de 8 blocs (64o)

Disque : 1 0 3 2 4 7 5 6

Info32b Systèmes d’Exploitation Nicolas Sabouret 45/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

File Allocation Table (FAT)

Principe
Utilisé sous MSDOS (Intel) et OS/2 (IBM)
Allocation indexée
Liste chaı̂née des index des blocs en début de chaque partition

Fichier : mon gros fichier de 8 blocs (64o)

Disque : 1 0 3 2 4 7 5 6

Info32b Systèmes d’Exploitation Nicolas Sabouret 45/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

File Allocation Table (FAT)

Principe
Utilisé sous MSDOS (Intel) et OS/2 (IBM)
Allocation indexée
Liste chaı̂née des index des blocs en début de chaque partition

Fichier : mon gros fichier de 8 blocs (64o)

Disque : 1 0 3 2 4 7 5 6

03 04 06 08 09 0B 0E 0F

Info32b Systèmes d’Exploitation Nicolas Sabouret 45/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

File Allocation Table (FAT)

Principe
Utilisé sous MSDOS (Intel) et OS/2 (IBM)
Allocation indexée
Liste chaı̂née des index des blocs en début de chaque partition

Fichier : mon gros fichier de 8 blocs (64o)

Disque : FAT 1 0 3 2 4 7 5 6

03 04 06 08 09 0B 0E 0F

Info32b Systèmes d’Exploitation Nicolas Sabouret 45/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

File Allocation Table (FAT)

Principe
Utilisé sous MSDOS (Intel) et OS/2 (IBM)
Allocation indexée
Liste chaı̂née des index des blocs en début de chaque partition

Fichier : mon gros fichier de 8 blocs (64o)

Disque : FAT 1 0 3 2 4 7 5 6

03 04 06 08 09 0B 0E 0F

03 04 06 08 09 0B 0E 0F

Info32b Systèmes d’Exploitation Nicolas Sabouret 45/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

File Allocation Table (FAT)

Principe
Utilisé sous MSDOS (Intel) et OS/2 (IBM)
Allocation indexée
Liste chaı̂née des index des blocs en début de chaque partition

Fichier : mon gros fichier de 8 blocs (64o)

FCB/Répertoire

Disque : FAT 1 0 3 2 4 7 5 6

03 04 06 08 09 0B 0E 0F

03 04 06 08 09 0B 0E 0F

Info32b Systèmes d’Exploitation Nicolas Sabouret 45/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

File Allocation Table (FAT)

Principe
Utilisé sous MSDOS (Intel) et OS/2 (IBM)
Allocation indexée
Liste chaı̂née des index des blocs en début de chaque partition

Fichier : mon gros fichier de 8 blocs (64o)

FCB/Répertoire

Disque : FAT 1 0 3 2 4 7 5 6

03 04 06 08 09 0B 0E 0F

03

03 04 06 08 09 0B 0E 0F

Info32b Systèmes d’Exploitation Nicolas Sabouret 45/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

File Allocation Table (FAT)

Principe
Utilisé sous MSDOS (Intel) et OS/2 (IBM)
Allocation indexée
Liste chaı̂née des index des blocs en début de chaque partition

Fichier : mon gros fichier de 8 blocs (64o)

FCB/Répertoire

Disque : FAT 1 0 3 2 4 7 5 6

03 04 06 08 09 0B 0E 0F

08 03

03 04 06 08 09 0B 0E 0F

Info32b Systèmes d’Exploitation Nicolas Sabouret 45/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

File Allocation Table (FAT)

Principe
Utilisé sous MSDOS (Intel) et OS/2 (IBM)
Allocation indexée
Liste chaı̂née des index des blocs en début de chaque partition

Fichier : mon gros fichier de 8 blocs (64o)

FCB/Répertoire

Disque : FAT 1 0 3 2 4 7 5 6

03 04 06 08 09 0B 0E 0F

08 03 06

03 04 06 08 09 0B 0E 0F

Info32b Systèmes d’Exploitation Nicolas Sabouret 45/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

File Allocation Table (FAT)

Principe
Utilisé sous MSDOS (Intel) et OS/2 (IBM)
Allocation indexée
Liste chaı̂née des index des blocs en début de chaque partition

Fichier : mon gros fichier de 8 blocs (64o)

FCB/Répertoire

Disque : FAT 1 0 3 2 4 7 5 6

03 04 06 08 09 0B 0E 0F
EOF

08 03 09 06 0E 0F 0B

03 04 06 08 09 0B 0E 0F

Info32b Systèmes d’Exploitation Nicolas Sabouret 45/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion
Fonctionnement Montage de répertoire Implémentation Allocation

File Allocation Table (FAT)

Principe
Allocation indexée
Liste chaı̂née des index des blocs en début de chaque partition

Avantages
3 FCB : adresse premier bloc = premier index
3 Pas de fragmentation (allocation indexée)
3 Allocation bloc simple
3 Accès rapide (FAT chargée en cache puis accès direct disque)

Inconvénients
7 Fiabilité : FAT perdue → disque foutu ! ,
doubler la FAT (sur 2 blocs distincts)
Info32b Systèmes d’Exploitation Nicolas Sabouret 45/47
Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion

Plan

1 Notion de fichier

2 Ouverture de fichier

3 Répertoires

4 Système de fichiers

5 Conclusion

Info32b Systèmes d’Exploitation Nicolas Sabouret 46/47


Notion de fichier Ouverture de fichier Répertoires Système de fichiers Conclusion

Ce qu’il faut retenir

Fichier = point d’accès au système


File Control Block
Répertoire
Ouverture de fichier
Structure d’un système de fichiers
Blocs logiques/physiques
Allocations contiguë, chaı̂née, indexée, FAT

Info32b Systèmes d’Exploitation Nicolas Sabouret 47/47

Vous aimerez peut-être aussi