Вы находитесь на странице: 1из 57

LE SYSTEME DE GESTION DE FICHIERS

Le systme de gestion de fichiers


Introduction
3 points essentiels requis pour stocker des informations long terme : 1. Pouvoir stocker des informations de trs grande taille, 2. Les informations ne doivent pas disparatre lorsque le processus qui les utilise se termine, 3. Plusieurs processus doivent pouvoir accder simultanment aux informations.

Le systme de gestion de fichiers


SOLUTION : stocker des informations dans des fichiers sur le disque dur ou autres supports. >> processus peuvent lire et crire de nouveaux fichiers.

Les informations stockes dans des fichiers doivent tre permanentes ( non affect par la cration en fin de processus).

Le systme de gestion de fichiers


Les fichiers sont grs par le systme dexploitation. La manire dont ils sont structurs, nomms, utiliss, protgs et implments sont des points majeurs de la construction du SE. En rsum : le systme de fichiers (File System), cest une partie du SE.

Le systme de gestion de fichiers


I. Les fichiers
1. Affectations des noms de fichiers

Rgles daffectation des noms de fichiers varient selon le systme. Mais tous les systmes autorisent des noms de fichiers de 1 8 caractres non accentus. Les chiffres et les caractres spciaux sont autoriss pour certains systmes de fichiers.

Le systme de gestion de fichiers


I. Les fichiers
1. Affectations des noms de fichiers

UNIX diffrencie les minuscules des majuscules. DOS ne fait pas de diffrence. Les FS (File System) grent les noms en deux parties. Nom.extension DOS -> extension de 3 caractres au maximum ( 1 8. 1 3 ) UNIX -> la taille de lextension est libre. Le fichier peut avoir plusieurs extensions.

Le systme de gestion de fichiers


I. Les fichiers
2. Structure des fichiers

3 types de fichiers : - Suite doctets, - Suite denregistrements, - Arbre denregistrements,

Le systme de gestion de fichiers


I. Les fichiers
2. Structure des fichiers Suite doctets Le SE ne connat pas et ne soccupe pas du contenu du fichier. Il ne gre que les octets. Toutes les significations sont donnes par le programme des utilisateurs.
UNIX et DOS sont structurs ainsi.

>> trs grande souplesse. Le SE nimpose pas de restriction. Les programmes des utilisateurs peuvent crire ce quils souhaitent dans les fichiers et les nommer comme ils veulent.

Le systme de gestion de fichiers


I. Les fichiers
2. Structure des fichiers Suite denregistrements Enregistrements de taille fixe qui ont chacun une structure interne. Concept de base des enregistrements de taille fixe : Une opration de lecture renvoie un enregistrement et une opration dcriture remplace ou ajoute un enregistrement.

Le systme de gestion de fichiers


I. Les fichiers
2. Structure des fichiers
ne Faon Pigeon

Arbre denregistrements
Chat Chien Daim

Rat

Poule

Canard

Hibou

Ibis

Livre

Un fichier est une arborescence denregistrements de tailles diffrentes et qui contiennent chacun une cl une position donne. Larbre est tri en fonction de cette cl afin daccder la recherche dune cl donne.

Le systme de gestion de fichiers


I. Les fichiers
2. Structure des fichiers Ide de base : Rechercher lenregistrement contenant une cl donne et non pas lenregistrement suivant (mme si cela est possible).

De nouveaux enregistrements peuvent tre ajouts dans le fichier, le systme dexploitation dcide de leurs emplacements (et non pas lutilisateur).

Le systme de gestion de fichiers


I. Les fichiers
3. Type des fichiers Fichier ordinaire : contient les informations des utilisateurs Les catalogues (directories) : fichiers systmes qui maintiennent la structure du FS Fichiers spciaux caractres : lis aux E/S et permettent de modliser les priphriques dE/S srie tels que les terminaux, imprimantes et les rseaux Fichiers spciaux blocs : modlisent les disques

Le systme de gestion de fichiers


I. Les fichiers
3. Type des fichiers Les fichiers ordinaires sont en gnral des fichiers ASCII ou binaires. Les fichiers ASCII contiennent des lignes de texte. Dans certains systmes, les lignes sont termines par un retour chariot. Dans dautres systmes, le caractre passage la ligne est utilis. Dans dautres systmes, les deux sont utiliss.

Le systme de gestion de fichiers


I. Les fichiers
3. Type des fichiers Avantages des fichiers ASCII : - afficher et imprimer sans modification - diter par diteur standard - si le fichier est utilis en E/S par un programme, il est alors facile de faire communiquer la sortie du programme avec lentre dun autre programme. Exemple : le tube (pipe).

Le systme de gestion de fichiers


I. Les fichiers
3. Type des fichiers Fichiers binaires : - simplement pas des fichiers ASCII, leur impression donne une suite de caractres de signes incomprhensible. - ont une structure interne Il existe une commande permettant davoir des indications sur les fichiers dun rpertoire : File * (ceci dans le rpertoire courant)

Le systme de gestion de fichiers


I. Les fichiers
4. Accs aux fichiers Laccs squentiel : Les premiers SE noffraient quun seul type daccs aux fichiers. Un processus pouvait lire tous les octets ou les enregistrements dun fichier dans lordre partir du dbut du fichier, mais ne pouvait pas les lire dans le dsordre. Les fichiers squentiels peuvent tre rembobins donc tre lus plusieurs fois. >> trs pratique pour le stockage sur bande magntique plutt que sur le DD.

Le systme de gestion de fichiers


I. Les fichiers
4. Accs aux fichiers Laccs alatoire (Random Access File) : Larrive des DD a autoris la lecture dans le dsordre des octets ou des enregistrements , ainsi que laccs des enregistrements partir dune cl et non plus dune position. Les fichiers accs alatoire sont indispensables de nombreuses applications comme les systmes de gestion de base de donnes (accs un enregistrement sans parcourir tous les enregistrements mmoriss).

Le systme de gestion de fichiers


I. Les fichiers
4. Accs aux fichiers Deux mthodes pour spcifier la position de dpart de la lecture : Chaque opration READ indique la position dans le fichier laquelle la lecture doit dbuter, Une opration spciale, SEEK, permet de se positionner un endroit donn. A la suite de ce positionnement. La lecture peut dbuter partir de cette nouvelle position courante. Les SE modernes utilisent tous les fichiers accs alatoire.

Le systme de gestion de fichiers


I. Les fichiers
5. Les attributs des fichiers Chaque fichier possde un nom et des donnes. Tous les SE associent les informations complmentaires pour chaque fichier (ex : date, heure de cration, taille du fichier, etc..).

attributs des fichiers

La liste des attributs varie dun systme un autre.

Le systme de gestion de fichiers


I. Les fichiers
5. Les attributs des fichiers Quelques attributs de fichiers :
Champ Protection Mot de passe Crateur Propritaire Indicateur lecture seule Indicateur fichier cach Indicateur fichier systme Indicateur darchivage Indicateur fichier ASCII/binaire Indicateur daccs alatoire Indicateur fichier temporaire Indicateur de verrouillage Longueur denregistrement Position de la cl Longueur de la cl Date de cration Date du denier accs Signification Qui peut accder au fichier et de quelle faon Mot de passe requis pour accder au fichier Personne qui a cr le fichier Propritaire courant 0 pour lecture/criture, 1 pour lecture seule 0 pour fichier normal, 1 pour ne pas lafficher dans les listages 0 pour fichier normal, 1 pour fichier systme 0 le fichier a t archiv, 1 il doit tre archiver 0 pour fichier ASCII, 1 pour fichier binaire 0 pour accs squentiel, 1 pour accs alatoire 0 pour fichier normal, 1 pour supprimer le fichier lorsque le processus se termine 0 pour fichier non verrouill, 1 pour fichier verrouill Nb doctets dans lenregistrement Position relative de la cl dans chaque enregistrement Nb doctets du champ cl Date et heure de cration du fichier Date et heure du dernier accs au fichier

Le systme de gestion de fichiers


I. Les fichiers
5. Les attributs des fichiers Attribution des droits : Chaque fichier a un ensemble dattributs dfinissant ses droits pour tous les utilisateurs du systme. Il existe 3 niveaux de confidentialit : Propritaire (user), Groupe (group), Les autres ou le reste du monde (others).

Le systme de gestion de fichiers


I. Les fichiers
5. Les attributs des fichiers Attribution des droits : A sa cration, le fichier appartient son propritaire et fait partie du groupe auquel appartient le propritaire. Aprs seulement, le propritaire peut distribuer ou restreindre les droits sur le fichier. Il existe 3 modes daction ou dexcution : Lecture (r ou 4 en octal), criture (w ou 2 en octal), Excution (x ou 1 en octal). ugs rwx rwx rwx
Cods sur 9 bits+1 (1+3+3+3)

Le systme de gestion de fichiers


I. Les fichiers
5. Les attributs des fichiers u g s concerne lexcution du fichier. En tant quAdministrateur et propritaire :  u setuid (set user id=4) pendant lexcution dun programme, lutilisateur est considr comme le propritaire du programme.  g setgid (set group id=2) pendant lexcution dun programme, le groupe est considr comme le groupe associ au programme. En tant quAdministrateur seulement :  s sticky bit (gal 1) concerne le fichier excutable. Le fichier reste en mmoire aprs son excution. optimisation de laccs disque

Le systme de gestion de fichiers


I. Les fichiers
6. Les oprations sur les fichiers Les fichiers permettent de stocker des informations et de les rechercher plus tard. Diffrents appels systmes permettent le stockage et la recherche :

 CREATE : le fichier est cr sans donnes. But : indiquer la cration dun fichier et de fixer un certain nombre de paramtres.

Le systme de gestion de fichiers


I. Les fichiers
6. Les oprations sur les fichiers  DELETE : Le fichier tant devenu inutile, il est supprim pour librer de lespace sur le disque.  OPEN : Un fichier doit tre ouvert avant quun processus puisse lutiliser. Lappel OPEN permet au systme de charger les attributs et la liste des adresses du fichier sur le disque afin dacclrer les accs ultrieurs.

Le systme de gestion de fichiers


I. Les fichiers
6. Les oprations sur les fichiers  CLOSE : Quand on na plus besoin daccder au fichier, les attributs et la liste des adresses du fichiers ne sont plus requis. Le fichier doit tre ferm pour librer de lespace dans les tables internes. Remarque : de nombreux systmes imposent un nombre maximal de fichier ouverts par processus.  READ : Des donnes du fichier sont lues partir de la position courante (en gnral) Lappelant doit spcifier le nombre doctets demands ainsi quune mmoire tampon de rception.

Le systme de gestion de fichiers


I. Les fichiers
6. Les oprations sur les fichiers  WRITE : Des donnes sont crites partir de la position courante. Si la position courante est situ la fin du fichier, la taille du fichier augmente. Si la position courante est situ au milieu du fichier, les anciennes donnes sont remplaces et dfinitivement perdus.  SEEK : Pour les fichiers accs alatoire, il faut indiquer la position des donnes lire ou crire. Lappel SEEK est souvent utilis et modifie la position courante dans le fichier. Lopration de lecture ou dcriture se fait partir de la nouvelle position courante.

Le systme de gestion de fichiers


I. Les fichiers
6. Les oprations sur les fichiers  GET ATTRIBUTE : Les processus doivent souvent lire les attributs des fichiers pour effectuer des oprations. Ex : le programme make sous Unix/linux gre des dveloppements logiciels constitus de plusieurs fichiers sources. Lorsque make est appel, il examine les dates de modification de tous les fichiers sources et les objets, et effectue le plus petit nombre de compilation ncessaire pour mettre jour le projet. Pour cela, il doit accder aux attributs des fichiers, et plus prcisment la date de modification.

Le systme de gestion de fichiers


I. Les fichiers
6. Les oprations sur les fichiers  SET ATTRIBUTE : Quand les attributs peuvent tre modifis par les utilisateurs et peuvent tre renseigns aprs la cration du fichier, on utilise cet appel systme.  RENAME : Appel systme qui permet de renommer un fichier. Pas indispensable, on peut copier le fichier sous un nom diffrent et ensuite supprimer lancien fichier. Tous ces appels systmes peuvent tre utiliser dans un programme afin de travailler sur des fichiers.

Le systme de gestion de fichiers


I. Les fichiers
7. Les fichiers mapps en mmoire Du point de vue conceptuel : 2 nouveaux appels systmes : MAP et UNMAP  MAP : Reoit un nom de fichier et une adresse virtuelle, ce qui amne le systme dexploitation mapper ce fichier sur cette adresse virtuelle. On a un pointeur sur la mmoire qui se dplace dans le fichier en mmoire. Cela vite les appels systmes READ et WRITE.

Le systme de gestion de fichiers


I. Les fichiers
7. Les fichiers mapps en mmoire Ceci est une fonction propre lOS (NT et UNIX) Laction de mappage cre des segments dans les pages et copie les segments du fichier dedans. Quand la copie est termine, il peut excuter lappel systme UNMAP pour retirer le fichier de lespace dadressage, puis il se termine. Le nouveau fichier existe comme sil avait t cr normalement avec les appels systmes adquates. Le mappage de fichier dispense des E/S et facilite la programmation.

Le systme de gestion de fichiers


II. Les catalogues
1. Systme catalogues hirarchiques Un catalogue contient un certain nombre dentre, une entre par fichier. 2 possibilits :  Chaque entre contient le nom du fichier, ses attributs et ses adresses sur le disque o les donnes sont stockes.  Chaque entre contient le nom du fichier et un pointeur sur une structure contenant ses attributs et ses adresses sur le disque.

Le systme de gestion de fichiers


II. Les catalogues
1. Systme catalogues hirarchiques
Jeux Courrier Nouveau Travail Attributs Attributs Attributs Attributs Jeux Courrier Nouveau Travail

Lorsque louverture dun fichier est requise, le systme dexploitation recherche le nom du fichier ouvrir dans le catalogue. Il extrait les attributs et les adresses sur le disque soit partir de lentre du catalogue, soit partir de la structure de donnes sur laquelle pointe le catalogue.

Structure de donnes contenant les attributs

Le systme de gestion de fichiers


II. Les catalogues
1. Systme catalogues hirarchiques Ces informations sont en mmoire et peuvent tre utilis par dautre processus. Mthode la plus simple : Utiliser un seul catalogue pour tous les utilisateurs. Inconvnients : vite inutilisable si les utilisateurs donnent le mme nom de fichier. Autre mthode : Un catalogue / utilisateur Consquence : plus de conflits sur les noms de fichiers appartenant aux utilisateurs.

Le systme de gestion de fichiers


II. Les catalogues
1. Systme catalogues hirarchiques Amlioration apporte : Possibilit de crer de nouveaux catalogue dans le catalogue / utilisateur. Meilleure gestion des fichiers des utilisateurs car un catalogue par centre dintrts.

Le systme de gestion de fichiers


II. Les catalogues
2. Les chemins daccs Chemin daccs absolu :  constitu partir du catalogue racine  commence toujours la racine et est toujours unique Sous UNIX, le sparateur / Sous DOS et Wxx, le sparateur \ Sous MULTICS, le sparateur >

Le systme de gestion de fichiers


II. Les catalogues
2. Les chemins daccs Chemin daccs relatif :  utilis en parallle avec le catalogue courant  lutilisateur dsigne un catalogue comme tant le catalogue de travail Tous les chemins daccs qui ne commencent pas la racine sont alors relatifs par rapport ce catalogue courant.

Le systme de gestion de fichiers


II. Les catalogues
2. Les chemins daccs La plupart des systmes qui grent une arborescence de catalogue possdent 2 entres de catalogues spciaux :   catalogue courant le pre du catalogue courant

Le systme de gestion de fichiers


II. Les catalogues
3. Opration sur les catalogues Les appels systmes de gestion des catalogues varient plus dun systme un autre que les appels systmes de gestion de fichiers.  CREATE : Un catalogue est cr. Il est vide lexception de  et   placs dans le catalogue par le systme ou par la commande DIR.  DELETE : Un catalogue est supprim. Seuls les catalogues vides peuvent ltre. Un catalogue contenant  et   est considr comme vide.

Le systme de gestion de fichiers


II. Les catalogues
3. Opration sur les catalogues  OPENDIR : Un catalogue est ouvert pour tre lu ( lire les noms de fichiers contenu dans le catalogue).  CLOSEDIR : Un catalogue doit tre ferm aprs avoir t lu afin de librer de lespace dans les tables internes.

Le systme de gestion de fichiers


II. Les catalogues
3. Opration sur les catalogues  RENAME : Les catalogues sont des fichiers et peuvent donc tre renomms. Cet appel systme accepte comme paramtre le nom du fichier et un chemin daccs, puis cr un lien entre le fichier spcifi et le nom donn dans le chemin daccs. Consquence, un mme fichier peut apparatre dans plusieurs catalogues sous forme de lien.

Le systme de gestion de fichiers


II. Mise en uvre du systme de fichiers
1. Stockage des fichiers  Les utilisateurs sont proccups par les noms de fichiers, les oprations qui permettent de manipuler les fichiers et ses arborescences.  Vu par les concepteurs, soucis sur lorganisation de lespace du disque et attention sur la manire dont les fichiers et catalogues sont sauvegards. Conception fondamentale : mmorisation des adresses des blocs de chaque fichier.

Le systme de gestion de fichiers


II. Mise en uvre du systme de fichiers
1. Stockage des fichiers Allocation contigu Mthode dallocation la plus simple consiste stocker chaque fichier dans une suite de bloc conscutifs.
Exemple: Un fichier de 50Ko occuperait 50 blocs conscutifs sur un disque dont la taille dun bloc est de 1Ko.

Avantages pour cette mthode :  simple mettre en uvre, il suffit de mmoriser un seul nombre, ladresse du premier bloc pour localiser le fichier.  Performance excellente car le fichier peut tre lu en une seule opration.

Le systme de gestion de fichiers


II. Mise en uvre du systme de fichiers
1. Stockage des fichiers Allocation contigu Inconvnients pour cette mthode :  mise en uvre que si la taille du fichier est connu au moment de leur cration. Sans cette information, le systme ne peut pas dterminer lespace rserver sur le DD.  La fragmentation du disque. Perte dallocation car gaspille de lespace sur le DD. Le compactage du DD peut y remdier mais il est en gnral coteux.

Le systme de gestion de fichiers


II. Mise en uvre du systme de fichiers
1. Stockage des fichiers Allocation au moyen du liste chane Mthode qui consiste sauvegarder les blocs de fichier dans une liste chane. Le premier mot de chaque bloc est un pointeur sur le bloc suivant. Le reste contient les donnes.
Fichier A Fichier B

Bloc 0 4

Bloc 1 7

Bloc 2 2

Bloc 3 10

Bloc 0 6

Bloc 1 3

Bloc 0 11

N de bloc physique

Le systme de gestion de fichiers


II. Mise en uvre du systme de fichiers
1. Stockage des fichiers Allocation au moyen du liste chane  Avec cette mthode, tous les blocs peuvent tre utiliss.  Pas despace perdu en raison dune fragmentation du disque.  Les autres blocs sont trouvs partir de ce bloc.  Si la lecture squentielle dun fichier est simple, laccs alatoire est trs lent. De plus pour les gros fichiers, le pointeur sur le bloc suivant occupant quelques octets, lespace rserv aux donnes dans chaque bloc nest plus une puissance de 2. Consquence : moins efficace car de nombreux programmes lisent et crivent des blocs dont la taille est une puissance de 2.

Le systme de gestion de fichiers


II. Mise en uvre du systme de fichiers
1. Stockage des fichiers Allocation au moyen du liste chane indexe Les inconvnients de lallocation au moyen dune liste chane peuvent tre limins en retirant le pointeur de chaque bloc pour le placer dans une table ou un index en mmoire. Si on reprend nos deux fichiers A et B Le fichier A occupe les blocs 4, 7, 2 et 10 dans cet ordre. Le fichier B occupe les blocs 6, 3 et 11 dans cet ordre.

Le systme de gestion de fichiers


II. Mise en uvre du systme de fichiers
1. Stockage des fichiers Allocation au moyen du liste chane indexe
0 1 2 3 4 5 6 7 8 9 10 11 NULL NULL 3 2 Le fichier B commence ici 10 11 7 Le fichier A commence ici Bloc inutilis

N de bloc physique

Le systme de gestion de fichiers


II. Mise en uvre du systme de fichiers
1. Stockage des fichiers Allocation au moyen du liste chane indexe Cette mthode libre intgralement lespace du bloc pour les donnes et facilite les accs alatoires. La liste doit toujours tre parcourue pour trouver un dplacement donn dans le fichier, mais elle rside entirement en mmoire et peut tre parcourue sans accder au disque. Comme pour la mthode prcdente, lentre du catalogue contient un seul entier (le n du bloc) qui permet de retrouver tous les autres blocs quelque soit la taille du fichier.
MS-DOS utilise cette mthode.

Le systme de gestion de fichiers


II. Mise en uvre du systme de fichiers
1. Stockage des fichiers Allocation au moyen du liste chane indexe Inconvnient de cette mthode : la table doit tre entirement en mmoire en permanence.
Ex : un disque de 500 000 blocs de 1Ko (500Mo) requiert 500 000 entres dans la table qui occupent chacune au minimum 3 octets. Pour acclrer la recherche, la taille des entres devrait tre de 4 octets. La table occupera 1,5Mo si le systme est optimis pour lespace disque et de 2Mo si le systme est optimis pour loccupation mmoire.

Le systme de gestion de fichiers


II. Mise en uvre du systme de fichiers
1. Stockage des fichiers N ud dinformation Dernire mthode pour mmoriser les blocs de chaque fichier consiste associer chaque fichier une petite table appel n ud dinformation (i-node). Cette table contient les attributs et les adresses sur le disque des blocs du fichier.

Le systme de gestion de fichiers


II. Mise en uvre du systme de fichiers
1. Stockage des fichiers N ud dinformation Les informations stockes dans un inode disque sont :  utilisateur propritaire,  groupe propritaire,  type de fichier,  droits d'accs,  date de dernier accs,  date de dernire modification,  date de dernire modification de l'inode,  nombre de liens,  taille du fichier,  adresses des blocs-disque contenant le fichier (13).

Le systme de gestion de fichiers


II. Mise en uvre du systme de fichiers
1.
Attributs

Stockage des fichiers

N ud dinformation

Bloc de donnes

Bloc dindirection simple

Adresses blocs

Bloc dindirection double

Bloc dindirection triple

Le systme de gestion de fichiers


II. Mise en uvre du systme de fichiers
1. Stockage des fichiers N ud dinformation Les premires adresses disques le n ud dinformation

>> les informations des petits fichiers y sont entirement contenues lorsquil est charg en mmoire louverture du fichier. Pour les fichiers plus important, une des adresses du n ud dinformation est celle dun bloc du disque appel bloc dindirection simple. Ce bloc contient des adresses disques additionnelles , et si cela ne suffit pas, une adresse du n ud dinformation (indirection double) contient ladresse dun bloc contenant une liste de bloc dindirection simple.

Le systme de gestion de fichiers


II. Mise en uvre du systme de fichiers
1. Stockage des fichiers N ud dinformation Chaque bloc dindirection simple pointe sur quelques centaines de blocs de donnes.
UNIX utilise cette mthode.

Remarques sur les inodes :  Seul le premier niveau de la table d'index des fichiers ouverts est prsent en permanence en mmoire centrale.  La structure d'index peut comporter des vides. Les entres vides correspondent des trous (blocs non remplis pour l'instant) dans le fichier.

Le systme de gestion de fichiers


II. Mise en uvre du systme de fichiers
1. Stockage des fichiers N ud dinformation Capacit de la structure d'index : numro de bloc sur 32 bits (4 octets), et bloc de 1 KO. On peut donc mettre p = 256 numros de blocs dans un bloc.     blocs directs : 10 blocs, bloc indirect_1 : 256 blocs, bloc indirect_2 : 256 2 blocs, bloc indirect_3 : 256 3 blocs.

Nombre maximum de blocs dans un fichier : 10 + 256 + 2562+ 2563 Taille maximale d'un fichier ~ 16 Go !!!

Le systme de gestion de fichiers


II. Mise en uvre du systme de fichiers
2. Mise en uvre des catalogues Il faut ouvrir un fichier avant de le lire. Quand on ouvre un fichier, le systme dexploitation utilise le chemin daccs donn par lutilisateur pour localiser lentre dans le catalogue. Cette entre fournit les informations ncessaires pour retrouver les blocs sur le disque.

Вам также может понравиться