chapitre iv : système de gestion des fichiers · récupération en cas d'erreurs,...

69
Systèmes d’Exploitation I Chapitre IV : Système de Gestion des Fichiers ESEN, Univ. Manouba

Upload: others

Post on 18-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

Systèmes d’Exploitation I

Chapitre IV :

Système de Gestion des Fichiers

ESEN, Univ. Manouba

Page 2: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 2

À quoi ressemble un disque dur ?

Page 3: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 3

Structure physique d'un disque dur

Page 4: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 4

Géométrie d'un disque durAdressage CHS : Cylinder/Head/Sector

● Cylindre: superposition de plusieurs pistes– Les pistes au dessus les

unes des autres sont accessibles sans bouger les têtes de lecture

Page 5: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 5

Géométrie d'un disque durAdressage CHS : Cylinder/Head/Sector

● Head: – Les têtes de lecture/enregistrement sont

solidaires des bras mobiles

– Le plus souvent il y a une tête par surface soit deux par plateau

– Le chemin parcouru par une tête particulière sur un cylindre particulier s'appelle une piste

● Secteur :

– La piste est divisée en secteurs (aussi appelés blocs) contenant les données.

– La taille d'une piste diminue en allant vers le centre du disque → le nombre de secteur par piste diminue aussi en allant vers le centre

– Taille d'un secteur plus commune= 512 octet

Page 6: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 6

Taille d'un disque● Taille d'un disque =

(Nombre de cylindre) x

(Nombre de piste par cylindre) x

(Nombre moyen de secteur par piste) x

(Taille du secteur)

● Exemple=– Nombre de piste par cylindre 255

– Nombre de cylindre = 36481

– Nombre moyen de secteur par piste = 63

– Taille du secteur = 512 octets

– Taille du disque ≈ 300 GB (255 * 36481 * 63 * 512 = 300066439680 octets)

Page 7: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 7

Pourquoi a-t-on besoin de fichiers ?

Page 8: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 8

Définition d'un fichier

● Toutes les applications informatiques doivent enregistrer et retrouver des informations.

● L’espace d’adressage étant insuffisant, on utilise des fichiers pour cela.

● Fichier (nom masculin)– Meuble, boîte servant à recevoir des fiches.

– Ensemble de données regroupées en une unité indépendante de traitement informatique.

Page 9: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 9

Information indépendante du processus

● Un processus en cours d’exécution peut enregistrer une quantité d’informations dans son espace d’adressage mais cette façon de faire présente trois inconvénients :

1)La capacité de stockage est limitée à la mémoire vive. Cette taille peut convenir pour certaines applications, mais elle est beaucoup trop faible pour d’autres (applications des banques, réservations, téléchargement p2p,...)

2)Les informations stockées en mémoire vive sont perdues, lorsque le processus se termine ou lors du plantage de l'ordinateur. Pour un grand nombre d'applications, les informations doivent être conservées pendant des durées importantes.

3)Il ne peut pas y avoir d’accès simultané à ces informations. Un répertoire téléphonique stocké dans l’espace d’adressage d’un processus ne peut être examiné que par ce seul processus (pour les raisons de protection des données expliquées lors de l’étude des processus), de telle sorte qu’on ne peut rechercher qu’un seul numéro à la fois.

→ Pour résoudre ce problème, il faut rendre l’information indépendante d’un processus donné.

Page 10: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 10

Stockage à long terme des informations

Trois caractéristiques sont donc requises pour le stockage des informations à long terme :

1) Il faut pouvoir stocker des informations de très grande taille ;

2) Les informations ne doivent pas disparaître lorsque le processus qui les utilise se termine ;

3) Plusieurs processus doivent pouvoir accéder simultanément aux informations.

Page 11: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 11

Fichiers = solution au problème

● La solution à tous ces problèmes consiste à stocker les informations dans des fichiers sur des disques ou d’autres supports. – Les processus peuvent alors les lire ou en écrire de nouvelles.

● Les informations stockées dans des fichiers doivent être permanentes, c’est-à- dire non affectées par la création ou la fin d’un processus.

● Un fichier ne doit disparaître que lorsque son propriétaire le supprime explicitement.

Page 12: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 12

Qui les gère alors ?

● Les fichiers sont gérés par le système d’exploitation.

● La façon dont ils sont structurés, nommés, utilisés, protégés et implémentés sont des points majeurs de la conception du système d’exploitation.

● La partie du système d’exploitation qui gère les fichiers est appelée le gestionnaire du système de fichiers (en anglais file system)

Page 13: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 13

Les tâches d'un SGF

● Le stockage des fichiers sur le disque dur● La gestion de l'espace libre sur le disque dur● La gestion des fichiers dans un environnement

multi-utilisateurs● La donnée d'une interface conviviale pour

manipuler les fichiers (commandes et des attributs simples pour manipuler et décrire les fichiers)

● La donnée d'utilitaires pour le diagnostic, la récupération en cas d'erreurs, l'organisation des fichiers

Page 14: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 14

Deux Visions du système de Fichiers

● Point de vue de l’utilisateur: nommage des fichiers, protection et droit d’accès, opération autorisées, etc.

● Point de vue concepteur : organisation physique d’un fichier sur un disque, gestion des blocs et manipulation des blocs physiques attribués à un fichier, gestion de l’espace libre du disque.

Page 15: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 15

Les fichiers

Page 16: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 16

Les fichiers du point de vue utilisateur

● L’utilisateur attache la plus grande importance à l’interface d’un système de fichiers, c’est-à-dire à la manière de nommer les fichiers, de les protéger, aux opérations permises sur eux, etc. – Il est moins important pour lui de connaître les détails de

son implémentation, c’est-à-dire de connaître le nombre de secteurs d’un bloc logique ou de savoir si l’on utilise des listes chaînées ou des tables de bits pour mémoriser les emplacements libres.

– Ces points sont, en revanche, fondamentaux pour le concepteur du système de fichiers.

Page 17: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 17

Nom d’un fichier : Pourquoi ?

● Les fichiers sont un mécanisme d'abstraction. – Ils permettent d’écrire des informations sur le disque et de les lire

ultérieurement.

● Ceci doit être fait de manière à masquer le fonctionnement et l’emplacement de stockage des informations à l’utilisateur. – Il ne doit pas avoir à choisir tel ou tel secteur, par exemple.

● La gestion et l’affectation des noms des objets sont les parties les plus importantes d’un mécanisme abstrait. – Un processus qui crée un fichier lui attribue un nom.

– Lorsque le processus se termine, le fichier existe toujours et un autre processus peut y accéder au moyen de ce nom.

Page 18: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 18

Nom d’un fichier : Règles de formation ?

● Les règles d’affectation des noms de fichiers varient d’un système à un autre, mais tous les systèmes d’exploitation autorisent les noms de fichiers constitués de chaînes de un à huit caractères non accentués. – Ainsi « esen » et « manouba » sont des noms de fichiers valides.

– Les chiffres et des caractères spéciaux sont quelquefois autorisés. Ainsi « 2 », « urgent! » et « Fig.2-14 » peuvent être des noms valides.

● Certains systèmes de fichiers différencient les lettres majuscules et minuscules alors que d’autres ne le font pas. – Unix fait partie de la première catégorie et MS-DOS de la deuxième.

– Les noms suivants désignent donc des fichiers distincts sur un système Unix : « esen », «Esen» et « ESEN ».

– Sur MS-DOS, ils désignent le même fichier.

Page 19: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 19

Nom de fichier: extension

● De nombreux systèmes d’exploitation gèrent des noms en deux parties, les deux parties étant séparées par un point, comme dans « prog.c ». La partie qui suit le point est alors appelée extension ; elle donne en général une indication sur la nature du fichier.– Sous MS-DOS, par exemple, les noms de fichiers comportent 1 à 8 caractères

éventuellement suivis d’une extension de 1 à 3 caractères.

– Sous Unix, la taille de l’extension éventuelle est libre, le fichier pouvant même avoir plus d’une extension comme dans « prog.c.Z ».

● Dans certains cas, les extensions sont simplement des conventions et ne sont pas contrôlées. Un fichier « fichier.txt » est vraisemblablement un fichier texte, mais ce nom est destiné davantage au propriétaire du fichier qu’au système d’exploitation. En revanche, certains compilateurs C imposent l’extension « .c » à tous les fichiers à compiler

Page 20: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 20

Les attributs des fichiers

● Chaque fichier possède un nom et des données.

● Les systèmes d'exploitation associent des informations complémentaire : – l'heure et la date de sa création et sa taille

→ Ces informations sont appelés les attributs du fichier (file's attributes) ou metadonnées (metadata)

Page 21: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 21

Les attributs des fichiers

Page 22: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 22

Les opérations sur les fichiers

● Create ● Delete● Open● Close● Read● Write

● Append● Seek● Get atributes● Set attributes● Rename

Page 23: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 23

La structure des fichiers

● Les fichiers peuvent être structurés de différentes manières– Suite d'octets

– Suite enregistrement

– Arbre

Page 24: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 24

Fichier= suite d'octets

● Le fichier est une suite d'octets sans structure– Le système d'exploitation ne connaît

pas et ne s'occupe pas du contenu de ce fichier

– Il ne voit que des octets

– Toute signification doit être apporté par le programme des utilisateurs

– UNIX et Windows suivent tout deux cette approche

1 octet

Page 25: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 25

Fichier= suite d'enregistrements

● Le fichier est une suite d'enregistrements de longueur fixe – Concept principal : une opération de lecture renvoie un

enregistrement/une opération d’écriture réécrit ou ajoute un enregistrement

– 80 caractère → carte perforées de 80 colonnes

– 132 caractères → imprimantes de 132 colonnes

– Les programmes lisaient les données par bloc de 80 caractère est écrivaient par bloc de 132 caractères

– Obsolète

Page 26: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 26

Fichier= arbre

● Le fichier est un arbre d'enregistrement– Les enregistrement n'ont pas la même longueur

– Chaque enregistrement contient une clé dont la position est fixe dans l'enregistrement

– L'arbre est trié en fonction des clés → permet de rechercher rapidement une clé donnée

– L'opération fondamentale ne consiste pas à obtenir le prochain enregistrement, mais obtenir un enregistrement avec une clé donnée

Page 27: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 27

Les fichiers ASCII

● Les fichiers ASCII se composent de lignes de texte– Chaque ligne se termine par le caractère retour

chariot (CR : Carriage Return) ou le caractère saut de ligne (LF : Line Feed)

– On peut les afficher et les éditer avec n'importe quel éditeur de texte

Page 28: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 28

Les fichiers binaires

● Ce ne sont pas des fichiers ASCII !– Si on les affiche cela donne un résultat incompréhensible

– Ils possèdent une structure interne connue des programme qui les exploitent

● Bien que techniquement le fichier soit juste une structure d'octets, le système d'exploitation exécutera ce fichier seulement s'il possède un certain format

Page 29: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 29

L'accès au fichiers : accès séquentiel

● Les premiers systèmes d'exploitation proposaient un seul type d'accès au fichiers : l'accès séquentiel (sequential access).– Dans ce système, un processus pouvait lire tous les

octets ou tous les enregistrements d'un fichier dans l'ordre en commençant au début

Page 30: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 30

L'accès au fichiers : accès aléatoire

● Lorsque les disques ont servi à l'enregistrement des fichiers, il est devenu possible de lire des octets ou des enregistrement d'un fichier dans n'importe quel ordre

● Les fichiers dont les octets ou les enregistrement peuvent être lus dans n'importe quel ordre sont appelés fichier à accès directe ou accès aléatoire (random access)

Page 31: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 31

La conception des systèmes de fichiers

utilisateur vs. concepteur● Nous examinons maintenant le système de fichiers du point de vue

du concepteur.

● Les utilisateurs se préoccupent des noms des fichiers, des opérations qui permettent de les manipuler, de l’arborescence des fichiers, ...

● Les concepteurs portent d'avantage leur attention sur l’organisation de l’espace du disque et sur la manière dont les fichiers et les répertoires sont sauvegardés.

→ Ils recherchent un fonctionnement efficace et fiable

Page 32: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 32

L'organisation du système de fichier

rôle de l'MBR● Les systèmes de fichiers sont enregistrés sur des disques.

● Les disques peuvent être divisés en une ou plusieurs partitions, avec des systèmes de fichiers indépendants sur chaque partition.

● Le secteur 0 du disque appelé enregistrement d'amorçage maître (MBR – Master Boot Record) sert à amorcer la machine

● La fin du MBR comprend la table de partitions, laquelle indique l'adresse de début et de fin de chaque partition– Une de ces partitions est marquée comme étant la partition active

Page 33: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 33

L'organisation du système de fichier

le bloc d'amorçage● Quand l’ordinateur est amorcé, le BIOS lit et

exécute le MBR

– Le programme MBR détermine la partition active, y lit le premier bloc appelé bloc d'amorçage (boot block) et l'exécute

● Le programme du bloc d'amorçage charge le système d'exploitation contenu dans cette partition

Page 34: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 34

L'organisation du système de fichier

● Pour une question d'uniformité, chaque partition commence un bloc d'amorçage, même si elle ne contient pas de système d'exploitation– Elle pourrait en contenir un ultérieurement

● Une organisation possible d'un système de fichiers

Page 35: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 35

L'organisation du système de fichier

le superbloc

● Après le bloc de boot, vient généralement le superbloc (superblock)– Contient tout les paramètres clé concernant le système de

fichier

– Contient un numéro magique qui identifie le type de système de fichier

Page 36: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 36

Organisation logicielle de l’espace du disque

● Les fichiers étant habituellement sauvegardés sur des disques, l’organisation logicielle de l’espace du disque est primordiale pour les concepteurs de systèmes de fichiers.

● Celle-ci porte sur la stratégie de stockage, sur la taille des blocs et sur la façon de repérer les blocs libres.

Page 37: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 37

Organisation de l’espace du disque

Taille des blocs● Il faut alors déterminer la taille optimale d’un

bloc.

● Si l’on prend des blocs de 1 Ko sur un disque dont les secteurs font 512 octets, le système de fichiers lit et écrit deux secteurs consécutifs en les considérant comme un ensemble unique et indivisible, appelé unité d’allocation (cluster).

Page 38: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 38

Les méthodes de stockage des fichiers

● Les fichiers étant constitués d’un certain nombre de blocs, le système de fichiers doit mémoriser les blocs des différents fichiers.

● Le principe fondamental pour stocker un fichier est de mémoriser

l’adresse des blocs le constituant.

● Différentes méthodes sont utilisées pour cela :– allocation contiguë,

– allocation par liste chaînée,

– allocation par liste chaînée indexée

– et nœud d’information (i-node)

Page 39: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 39

Stockage des fichiersAllocation contiguë

● La méthode d’allocation la plus simple consiste à stocker chaque fichier dans une suite de blocs consécutifs. Un fichier de 50 Ko, par exemple, occupera 50 blocs consécutifs sur un disque dont la taille des blocs est 1 Ko.

● Cette méthode a deux avantages importants :

1)elle est simple à mettre en œuvre puisqu’il suffit de mémoriser un nombre, l’adresse du premier bloc, pour localiser le fichier.

2)les performances sont excellentes puisque tout le fichier peut être lu en une seule opération.

→ Aucune autre méthode d’allocation ne peut l’égaler.

Page 40: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 40

Stockage des fichiersAllocation contiguë

● Malheureusement, l’allocation contiguë présente également deux inconvénients importants :

– Premièrement, elle ne peut être mise en œuvre que si la taille maximum du fichier est connue au moment de sa création.

● Sans cette information, le système d’exploitation ne peut pas déterminer l’espace à réserver sur le disque.

● Dans les systèmes où les fichiers doivent être écrits en une seule opération, elle peut néanmoins être avantageusement utilisée.

– Le deuxième inconvénient est la fragmentation du disque qui découle de cette politique d’allocation.

● Elle gaspille de l’espace sur le disque. ● Le compactage du disque peut y remédier mais il est en général coûteux. Il

peut cependant être réalisé la nuit lorsque le système n’est pas chargé.

Page 41: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 41

Stockage des fichiersAllocation contiguë

(a) Allocation contiguë de l'espace disque pour 7 fichier(b) L'état du disque après suppression des fichiers D et F

Page 42: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 42

Stockage des fichiersAllocation par liste chaînée

● La deuxième méthode consiste à sauvegarder les blocs des fichiers dans une liste chaînée. Le premier mot de chaque bloc, par exemple, est un pointeur sur le bloc suivant. Le reste du bloc contient les données.

● Cette méthode possède les avantages suivants :– Contrairement à l’allocation contiguë, tous les blocs peuvent être utilisés → Il n’y a pas

d’espace perdu en raison d’une fragmentation du disque.

– L’entrée du répertoire stocke simplement l’adresse du premier bloc. Les autres blocs sont trouvés à partir de celui-là.

● Elle possède également des inconvénients :– Si la lecture séquentielle d’un fichier est simple, l’accès direct est extrêmement lent.

– Le pointeur sur le bloc suivant occupant quelques octets → l’espace réservé aux données dans chaque bloc n’est plus une puissance de deux.

● Ceci est moins efficace car de nombreux programmes lisent et écrivent des blocs dont la taille est une puissance de deux.

Page 43: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 43

Stockage des fichiersAllocation par liste chaînée

Page 44: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 44

Stockage des fichiersAllocation par liste chaînée indexée

● Les inconvénients de l’allocation au moyen d’une liste chaînée peuvent être éliminés en retirant le pointeur de chaque bloc pour le placer dans une table ou en index en mémoire. MS-DOS utilise cette méthode avec la FAT (File Allocation Table).

● Cette méthode possède les avantages suivants :– Elle libère intégralement l’espace du bloc pour les données → Elle

facilite les accès directs. ● La liste doit toujours être parcourue pour trouver un déplacement donné dans le

fichier, mais elle réside entièrement en mémoire et peut être parcourue sans accéder au disque.

– Comme pour la méthode précédente, l’entrée du répertoire contient un seul entier (le numéro du premier bloc) qui permet de retrouver tous les autres blocs quelle que soit la taille du fichier.

Page 45: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 45

Stockage des fichiersAllocation par liste chaînée indexée

Le fichier A utilise les blocs 4,7 2 10 et 12

Le fichier B utilise les blocs 6,3 11 et 14

Page 46: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 46

Stockage des fichiersAllocation par liste chaînée indexée

● Le principal inconvénient de cette méthode vient du fait que la table doit résider entièrement en mémoire en permanence.

● Un grand disque de 500 GO, avec une taille de bloc=1ko. Déterminer le nombre d’entrée dans la table nécessaire pour indexer ce disque?

● Si chaque entée est codée sur 3 octets, déterminer la taille de la table.

Page 47: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 47

Stockage des fichiersNœuds d’information i-node

● Pour mémoriser quel bloc appartient à quel fichier, une dernière méthode consiste à associer à chaque fichier un structure de donnée appelée nœud d'index ou i-node.

● Un i-node inclut

1)les attributs

2)et les adresses disque des blocs du fichier

● En fonction de l'i-node il est possible de trouver tous les blocs d'un fichier

Page 48: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 48

Stockage des fichiers: Avantage des i-node

● Le grand avantage de cette conception est que le i-node a besoin d'être en mémoire seulement quand le fichier correspondant est ouvert.– Si chaque i-node occupe n octets

– Et un maximum de k fichiers peuvent être ouvert en même temps

– La mémoire totale occupée par le tableau contenant les i-nodes des fichiers ouverts est k*n octets

→ seul cet espace pourra être réservé à l'avance.

Page 49: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 49

Stockage des fichiers: Avantage des i-node

● Le tableau des i-node des fichiers ouverts est plus petit que l'espace occupé par la table du cas de l'allocation par liste chaînée indexée.

– La taille de la table de maintient de la liste chaînée croît proportionnellement avec la taille du disque : si le disque contient n blocs la table contient n entrée → elle croît linéairement à mesure que la taille du disque augmente

– Le concept de i-node requiert un tableau en mémoire dont la taille est proportionnelle au nombre maximum de fichier qui peuvent être ouvert simultanément → quelque soit la taille du disque

Page 50: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 50

Stockage des fichiers : Problème des i-node

● Les i-nodes posent cependant un problème :

– si chacun d'eux a la place pour un nombre donné d'adresse disque, que se passe-t-il lorsqu'un fichier croît au-delà de cette limite ?

– La solution est de réserver la dernière adresse disque, non pour un bloc de données du fichier mais pour l'adresse d'un bloc comprenant plusieurs adresse supplémentaire

Page 51: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 51

Organisation de l’espace du disque

Repérage des blocs libres

● Dès qu’on a choisi la taille des blocs, on doit trouver un moyen de mémoriser les blocs libres

● Les deux méthodes les plus répandues sont

– Liste chaînée

– Table de bits

Page 52: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 52

Organisation de l’espace du disque

Repérage des blocs libres

Page 53: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 53

Organisation de l’espace du disqueRepérage des blocs libres

● La première méthode consiste à utiliser une liste chaînée des blocs du disque, chaque bloc contenant des numéros de blocs libres.

● La deuxième technique de gestion des espaces libres a recours à une table de bits, chaque bit représentant un bloc et valant 1 si le bloc est occupé (ou libre suivant le système d’exploitation). – Un disque de n blocs requiert une table de n bits.

Page 54: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 54

Organisation de l’espace du disqueRepérage des blocs libres - liste

chaînée Considérons un disque dur de 500GB. Une

taille d'un bloc de 1KO. → Le disque contient (500* 2³ )/ (1*2¹ *2³)= 500* 2¹ blocs⁰ ⁰ ⁷ Le numéro de bloc codée sur 32 bits. c’est la Taille d'un

élément de la liste chaînée => un bloc contiendra 2 =256 ⁸numéros de bloc libres

● Nombre de numéro de bloc libre que peut contenir un bloc de 1Ko =

● Taille d'un bloc en bit / taille du numéro du bloc● (2¹ * 2³ )/2 = 2 =256 numeros⁰ ⁵ ⁸

Le nombre de blocs nécessaires pour adresser tous les blocs du disque dur : (500*2¹ / 2 = 500*2 blocs)⁷ ⁸ ⁹

→ 256000 blocs !!!!

Page 55: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 55

Organisation de l’espace du disqueRepérage des blocs libres – table de bit

Considérons un disque dur de 500GB. Une taille d'un bloc de 1KO.

→ Le disque contient 500* 2¹ blocs⁷

1 bloc est représenté par un bit → taille max de la table de bit = 500* 2¹ bits ⁷

Pour adresser tous les blocs du disque dur il nous faut combien de blocs ??

→ 500* 2¹ bits / 2¹ *2³ bits⁷ ⁰ = 500*2 = 8000 ⁴blocs

Page 56: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 56

Exemple de systèmes de fichiers

Page 57: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 57

Les systèmes de fichiers de MSDOS : FAT (16/32)

● C'est un système de fichier qui a été utilisé sur les premiers ordinateurs personnels d'IBM– Il est utilisé (Fat32) dans toutes les version de

Windows et dans des appareils embarqué

– Il est utilisé par Apple dans ces appareils embarqué

– Plus utilisé que le système de fichier moderne NTFS (journalisé)

Page 58: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 58

Taille maximale d'un fichier MSDOS

● MS-DOS enregistre la taille exacte du fichier en utilisant un nombre sur 32 bits– Les fichiers peuvent ainsi avoir en théorie une taille

maximal de 4Go (2^32 = 4294967296 = 4Go).

– Cependant, la taille maximale d'un fichier est limité à 2Go.

Page 59: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 59

MSDOS et FAT

● MS-DOS conserve une trace des blocs de fichiers dans une table d'allocation en mémoire principale

– L'entrée du répertoire comprend le numéro du premier bloc

– Celui-ce sert de l'index dans les entrées de la FAT (File Allocation Table) de 64 Ko qui présente en mémoire principal

– En suivant le chaînage, on peut trouver tous les blocs

Page 60: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 60

FAT 12 – 16 -32

● Il existe trois versions du système de fichier de type FAT : FAT-12, FAT-16 et FAT-32, selon le nombre de bits d'une adresse disque

● FAT-32 porte mal son nom, puisque seuls les 28 bits de poids faible des adresses disque sont employées.– On aurait dû l'appeler FAT-28 !

Page 61: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 61

Taille maximale de partition dans FAT-16

● FAT avec des pointeurs de disques de 16 bits– Taille de bloc de 8,16,32 Ko

– Taille maximale de la partition 2¹ adresses x 32 Ko ⁶chacune = 2 Go

– Un disque supporte 4 partitions → taille maximal d'un disque de 8 Go

Page 62: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 62

Taille maximale de partition dans FAT-32

● FAT avec des pointeurs de disques de 28 bits– Taille maximale de la partition = 2² adresse x 32 ⁸

Ko = 2² x (2 ) x (2³²) = 2 To⁸ ⁵

Page 63: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 63

Avantages de FAT-32

● Nombre de partition : – Un disque de 8Go peut être constitué d'une seule partition au lieu de 4

(dans FAT-16).

● Taille de bloc : – FAT-16 doit absolument utilisé un bloc 32 Ko pour une partition de 2 Go

– FAT-32 on peut utilise des blocs de 4 Ko pour une partition de 2 Go

– L'avantage de disposer de blocs de plus petite taille est que l'on gaspille moins d'espace

● un fichier est de 10 octets occupe 32 Ko d'espace disque● Avec un fichier de 8 Ko et des blocs de 32 Ko : 3/4 du bloc gaspillé● Avec un fichier de 8 Ko et un bloc de 4 Ko → pas de gaspillage disque

Page 64: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 64

Système de fichier d'UNIX

● Un répertoire UNIX comprend une entrée pour chaque fichier de ce répertoire.

● Chaque entrée est extrêmement simple– Le nom du fichier (14 octets)

– Et le numéro de son i-node (2 octets)

– Ces paramètres limitent à 64 Ko le nombre de fichier par système de fichier

Page 65: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 65

Les i-nodes sous UNIX

● Un i-node unix stocke à la fois les attributs (metadata) ainsi que les pointeurs sur les blocs

● Les i-nodes UNIX contiennent certains attributs

– La taille du fichier– Trois information temporelles

● Date et heure de créations● Date et heure du dernier accès● Date et heure de la dernière modification

– Le nom du propriétaire– Le nom du groupe– Les information de protection– Un compteur indiquant le nombre d'entré de répertoires pointant sur lui (pour les liens)

● Un compteur indiquant 0 → l'i-node est récupéré et les blocs de disque sont placés dans la lste des blocs libres

Page 66: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 66

Les i-nodes sous UNIX

● Les 10 (12) premières adresses des locs sont enregistrées dans l'i-node lui-même

– Pour les petits fichiers, toutes les informations nécessaire se trouvent dans l'i-node, lequel est chargé dans la mémoire quand le fichier est ouvert

– Pour de plus grands fichiers, une des adresses de l'i-node correspond à l'adresse d'un bloc de disque appelé bloc de simple indirection (single indirect block)

● Ce bloc contient non pas de données mais des adresses supplémentaires

Page 67: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 67

Les i-nodes sous UNIX

● Si cela n'est pas suffisant, une autre adresse de l'i-node, appelée bloc de double indirection (double indirect block), contient l'adresse d'un bloc qui contient une lise de bloc de simple indirection– Chacun de ces blocs de simple indirection pointe sur

quelques centaines de blocs de données

● Si cela ne suffit toujours pas, on peut avoir recours à un bloc de triple indirection (triple indirect block)

Page 68: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 68

Les i-nodes d'UNIX

Page 69: Chapitre IV : Système de Gestion des Fichiers · récupération en cas d'erreurs, l'organisation des fichiers. 19/04/17 OS I 14 Deux Visions du système de Fichiers Point de vue

19/04/17 OS I 69

Les i-nodes d'UNIX

● Exemple : chemin d'accès /usr/ast/mbox