• Aucun résultat trouvé

Syst` emes d’Exploitation Cours 9/13 : Syst` eme de fichiers

N/A
N/A
Protected

Academic year: 2022

Partager "Syst` emes d’Exploitation Cours 9/13 : Syst` eme de fichiers"

Copied!
124
0
0

Texte intégral

(1)

Syst` emes d’Exploitation Cours 9/13 : Syst` eme de fichiers

Nicolas Sabouret

Universit´e Paris-Sud Licence 3 - semestre S5

(2)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion

Plan

1 Notion de fichier

2 Ouverture de fichier

3 R´epertoires

4 Syst`eme de fichiers

(3)

Plan

1 Notion de fichier Rˆole dans l’OS File Control Block Op´erations

2 Ouverture de fichier

3 R´epertoires

4 Syst`eme de fichiers

5 Conclusion

(4)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion ole dans l’OS File Control Block Op´erations

Syst`eme de fichiers Partie visible de l’OS

M´ecanisme de stockage sur un support physique Acc`es aux donn´ees stock´ees

Acc`es aux programmes

Acc`es `a l’ensemble du syst`eme informatique

D´efinition

Unfichierest une collection nomm´eed’information accessibles via un p´eriph´erique.

Unit´e logique

Ind´ependante du support physique (p´eriph´erique) Abstraction des propri´et´es physiques

(5)

Syst`eme de fichiers Partie visible de l’OS

M´ecanisme de stockage sur un support physique Acc`es aux donn´ees stock´ees

Acc`es aux programmes

Acc`es `a l’ensemble du syst`eme informatique D´efinition

Unfichierest une collection nomm´eed’information accessibles via un p´eriph´erique.

Unit´e logique

Ind´ependante du support physique (p´eriph´erique) Abstraction des propri´et´es physiques

(6)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion ole dans l’OS File Control Block Op´erations

Structure d’un fichier Type de fichier

Code source Donn´ees Biblioth`eque Fichier ex´ecutable

Point d’acc`es `a un p´eriph´erique etc

→A chaque type de fichier correspond une` structure sp´ecifique! G´en´eralement indiqu´e par sonextension.

(7)

Structure d’un fichier : exemples I Fichiers texte : .txt

Donn´ees textuelles `a l’usage de l’utilisateur humain

→Succession decaract`eres, organis´es en lignes s´epar´ees par un caract`ere sp´ecial (\n, ˆM, . . . selon l’OS)

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

Fourni par un utilisateur humain pour ˆetre trait´e par la machine

→succession de fonctions et sous-programmes, compos´es d’instructionss´epar´ees par des symboles sp´ecifiques

(8)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion ole dans l’OS File Control Block Op´erations

Structure d’un fichier : exemples II Biblioth`eque : .o, .dll, . . .

Construits par un compilateur `a partir d’un fichier source

→Succession d’octets organis´es en blocs interpr´etables par l’´editeur de lien

Ex´ecutable : .exe, . . .

→Succession d’instructionsque l’OS peut charger en m´emoire pourex´ecuterun programme

(9)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion ole dans l’OS File Control Block Op´erations

File Control Block D´efinition

Structure de donn´ees de l’OS pour stocker les informations n´ecessaires `a la gestion des fichiers

Nom : stdio: ind´ependant de l’OS, lisible Identifiant : num´erique, unique, pour l’OS

Type : extension .hou en-tˆete de fichier Emplacement : pointeur sur un p´eriph´erique

Taille : en octets ou en blocs

Protection : lecture, ´ecriture, ex´ecution. . . Date(s) : cr´eation, modification, acc`es. . . Utilisateur : propri´etaire du fichier

(10)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion ole dans l’OS File Control Block Op´erations

File Control Block D´efinition

Structure de donn´ees de l’OS pour stocker les informations n´ecessaires `a la gestion des fichiers

Contenu

Nom : stdio: ind´ependant de l’OS, lisible Identifiant : num´erique, unique, pour l’OS

Type : extension.h ou en-tˆete de fichier Emplacement : pointeur sur un p´eriph´erique

Taille : en octets ou en blocs

Protection : lecture, ´ecriture, ex´ecution. . . Date(s) : cr´eation, modification, acc`es. . . Utilisateur : propri´etaire du fichier

(11)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion ole dans l’OS File Control Block Op´erations

Partage de fichiers D´efinition

Rendre accessible `a un utilisateur B un fichier de l’utilisateur A

Politique de protection

D´efinir qui peut acc´eder `a quel(s) fichier(s) Identifiant utilisateur → identifiant processus Contrˆole d’acc`es dans le FCB

(12)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion ole dans l’OS File Control Block Op´erations

Partage de fichiers D´efinition

Rendre accessible `a un utilisateur B un fichier de l’utilisateur A

Exemple : lecture de /bin/sh, acc`es `a /dev/mouse0, . . .

Politique de protection

D´efinir qui peut acc´eder `a quel(s) fichier(s) Identifiant utilisateur → identifiant processus Contrˆole d’acc`es dans le FCB

(13)

Partage de fichiers D´efinition

Rendre accessible `a un utilisateur B un fichier de l’utilisateur A

Exemple : lecture de /bin/sh, acc`es `a /dev/mouse0, . . .

Politique de protection

D´efinir qui peut acc´eder `a quel(s) fichier(s) Identifiant utilisateur → identifiant processus Contrˆole d’acc`es dans le FCB

(14)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion ole dans l’OS File Control Block Op´erations

Protection de fichiers I

Liste de contrˆole d’acc`es (ACL) Utilisateur→ droits

Probl`emes :

7 l’ensemble des utilisateurs doit ˆetre 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`es (lecture, ´ecriture, . . . ) 7 Pas tr`es pratique → peu utilis´e

(15)

Protection de fichiers II Classes d’utilisateurs

Exemple : Propri´etaires vs Autres

→quelques bits par fichier Notion de groupe

3 Ensemble de groupes d´efinis a priori

Ex :admin,dev-disque,user-disque,dev-ram,user-ram

3 FCB : 1 utilisateur + 1 groupe (propri´etaires)

Ex :toto.c u=batman, g=dev-disque

3 Utilisateur → liste de groupes

Ex :robin, g=[dev-ram,user-disque]

Ü robinn’a pas acc`es `atoto.c

(16)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion ole dans l’OS File Control Block Op´erations

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´ec. 5 15:30 notes.ods drwxrwx--- 8 nico prof 4096 d´ec. 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

(17)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion ole dans l’OS File Control Block Op´erations

Notion de r´epertoire D´efinition

Le r´epertoire est la structure de stockage des informationsdes fichiers (les FCB) sur lep´eriph´erique (le disque).

Entr´ee du r´epertoire = identifiant du fichier et/ou nom du fichier

deux m´ethodes d’acc`es

Contenu du r´epertoire = FCB des fichiers Ü plusieurs Ko de donn´ees non scindables ! Principe

L’OS r´ecup`ere l’information sur les fichiers dans le r´epertoire

(18)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion ole dans l’OS File Control Block Op´erations

Notion de r´epertoire D´efinition

Le r´epertoire est la structure de stockage des informationsdes fichiers (les FCB) sur lep´eriph´erique (le disque).

Structure

Entr´ee du r´epertoire = identifiant du fichier et/ou nom du fichier

deux m´ethodes d’acc`es

Contenu du r´epertoire = FCB des fichiers Ü plusieurs Ko de donn´ees non scindables !

Principe

L’OS r´ecup`ere l’information sur les fichiers dans le r´epertoire

(19)

Notion de r´epertoire D´efinition

Le r´epertoire est la structure de stockage des informationsdes fichiers (les FCB) sur lep´eriph´erique (le disque).

Structure

Entr´ee du r´epertoire = identifiant du fichier et/ou nom du fichier

deux m´ethodes d’acc`es

Contenu du r´epertoire = FCB des fichiers Ü plusieurs Ko de donn´ees non scindables ! Principe

L’OS r´ecup`ere l’information sur les fichiers dans le r´epertoire

(20)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion ole dans l’OS File Control Block Op´erations

Op´erations sur un fichier Appels syst`emes de base

Cr´eation : allocation espace + entr´eer´epertoire Lecture : pointeur de lecture

Ecriture : pointeur d’´´ ecriture

Repositionnement : d´eplacer un pointeur

Suppression : retrait de l’entr´ee dans le r´epertoire Troncature : vider mais garder l’entr´ee

Op´erations compos´ees Ex : copie, renommage

→effectu´ees `a partir des appels syst`emes de base

(21)

Plan

1 Notion de fichier

2 Ouverture de fichier

3 R´epertoires

4 Syst`eme de fichiers

5 Conclusion

(22)

Notion de fichier Ouverture de fichier epertoires Syst`eme de fichiers Conclusion

Ouverture de fichier Probl`eme

N´ecessit´e d’acc´eder au FCB `a chaque op´eration sur le fichier Le FCB est stock´e dans le r´epertoire du p´eriph´erique

→Tr`es coˆuteux en acc`es disque (donc en temps) !

D´efinition

L’appel syst`emeopen permet de charger le FCB en m´emoire Acc`es `a un fichier

L’OS impose que tout acc`es `a un fichier soit pr´ec´ed´e d’une ouverture.

(23)

Ouverture de fichier Probl`eme

N´ecessit´e d’acc´eder au FCB `a chaque op´eration sur le fichier Le FCB est stock´e dans le r´epertoire du p´eriph´erique

→Tr`es coˆuteux en acc`es disque (donc en temps) ! D´efinition

L’appel syst`emeopen permet de charger le FCB en m´emoire Acc`es `a un fichier

L’OS impose que tout acc`es `a un fichier soit pr´ec´ed´e d’une ouverture.

(24)

Notion de fichier Ouverture de fichier epertoires Syst`eme de fichiers Conclusion

Table des fichiers ouverts Stockage des FCB en RAM

Latable des fichiers ouvertsde l’OS contient l’ensemble des FCB des fichiers ouverts.

Ouverture → chargement du FCB depuis le r´epertoire + 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`es

Explicite : exception si le fichier n’a pas ´et´e ouvert avant Une table de fichiers ouvertsglobale avec compteurs + une table par processus →fermeture `a la terminaison

(25)

Table des fichiers ouverts Stockage des FCB en RAM

Latable des fichiers ouvertsde l’OS contient l’ensemble des FCB des fichiers ouverts.

Ouverture → chargement du FCB depuis le r´epertoire + 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`es

Explicite : exception si le fichier n’a pas ´et´e ouvert avant Une table de fichiers ouvertsglobale avec compteurs + une table par processus →fermeture `a la terminaison

(26)

Notion de fichier Ouverture de fichier epertoires Syst`eme de fichiers Conclusion

Verrouillage Principe

Possibilit´e d’interdire l’acc`es aux autres processus Ex : lecteurs/´ecrivains

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);

/* ´ecriture */

e.release();

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

/* lecture */

s.release();

(27)

Plan

1 Notion de fichier

2 Ouverture de fichier

3 R´epertoires

Structure de base Structures multi-niveau

4 Syst`eme de fichiers

5 Conclusion

(28)

Notion de fichier Ouverture de fichier epertoires Syst`eme de fichiers Conclusion Structure de base Structures multi-niveau

Structure des disques Disque

Structure physique Partition

Structure logique (disquevirtuel) Base : 1 disque = 1 partition 1 disque = N partitions

1 partition = 1 ou N disques (selon OS) R´epertoire

Un r´epertoire par partition : l’ensemble des FCB Ü Nom/identifiant →FCB

(29)

R´epertoire : structure de base

Disque 1

R´epertoire R´epertoire

Disque 2

R´epertoire

Disque 3

Partition 1 Partition 2 Partition 3

Structure `a 1 niveau 3 Nom→ FCB

7 Taille du r´epertoire proportionnelle au nombre de fichiers

borner le nombre de fichiers. . .

7 Utilisateur : organiser les fichiers, unicit´e de nom, . . .

(30)

Notion de fichier Ouverture de fichier epertoires Syst`eme de fichiers Conclusion Structure de base Structures multi-niveau

R´epertoire : structure de base

Disque 1

R´epertoire R´epertoire

Disque 2

R´epertoire

Disque 3

Partition 1 Partition 2 Partition 3

Structure `a 1 niveau 3 Nom→ FCB

7 Taille du r´epertoire proportionnelle au nombre de fichiers

borner le nombre de fichiers. . .

7 Utilisateur : organiser les fichiers, unicit´e de nom, . . . Exemple : MSDOS et Windows

Taille limit´ee `a 11 caract`eres (8 nom + 3 extension)

→5011 fichiers max par r´epertoire ('5.1018)

(31)

R´epertoire : structure de base

Disque 1

R´epertoire R´epertoire

Disque 2

R´epertoire

Disque 3

Partition 1 Partition 2 Partition 3

Structure `a 1 niveau 3 Nom→ FCB

7 Taille du r´epertoire proportionnelle au nombre de fichiers

borner le nombre de fichiers. . .

7 Utilisateur : organiser les fichiers, unicit´e de nom, . . . Exemple : MSDOS et Windows

Taille limit´ee `a 11 caract`eres (8 nom + 3 extension)

→ 5011 fichiers max par r´epertoire ('5.1018)

(32)

Notion de fichier Ouverture de fichier epertoires Syst`eme de fichiers Conclusion Structure de base Structures multi-niveau

R´epertoire : structure de base

Disque 1

R´epertoire R´epertoire

Disque 2

R´epertoire

Disque 3

Partition 1 Partition 2 Partition 3

Structure `a 1 niveau 3 Nom→ FCB

7 Taille du r´epertoire proportionnelle au nombre de fichiers

borner le nombre de fichiers. . .

7 Utilisateur : organiser les fichiers, unicit´e de nom, . . . Exemple : Unix et Mac

Taille limit´ee `a 255 octets

(33)

Structure `a deux niveaux

Principe

Un r´epertoire par utilisateur

R´epertoire des utilisateurs : Master File Directory (MFD) Identifiant→ UFD

R´epertoire par utilisateur : User File Directory (UFD) Nom→ FCB

Master File Directory

Nicolas Batman Robin

User File Directory toto.c titi.txt tutu

User File Directory

foo bar

User File Directory truc.c machin chose.dll

(34)

Notion de fichier Ouverture de fichier epertoires Syst`eme de fichiers Conclusion Structure de base Structures multi-niveau

Structure `a deux niveaux

Master File Directory

Nicolas Batman Robin

User File Directory toto.c titi.txt tutu

User File Directory

foo bar

User File Directory truc.c machin chose.dll

Structure `a 2 niveau 3 User + Nom→ FCB

3 Pas beaucoup plus coˆuteux en taille

3 Utilisateur : organiser les fichiers, unicit´e de nom, . . . 7 Taille des r´epertoires proportionnelle au nombre de fichiers 7 Partage de fichiers

(35)

Structure `a deux niveaux : avantages et inconv´enients Remarques

Les UFD sont des fichiers

Le nom de chaque UFD doit ˆetre unique

mais deux fichiers de deux UFD diff´erents peuvent avoir le mˆeme nom!

nicolas/cours1.pdf batman/cours1.pdf

Acc`es

Les fichiers des utilisateurs sont isol´es

Nommage : partition + utilisateur + nom fichier toto.cpartition courante, utilisateur du processus

batman/toto.cpartition courante, utilisateur batman(Unix)

c:\batman\toto.cpartition c, utilisateur batman(Windows)

(36)

Notion de fichier Ouverture de fichier epertoires Syst`eme de fichiers Conclusion Structure de base Structures multi-niveau

Structure `a deux niveaux : partage de fichiers Fichiers de l’OS

Exemples : biblioth`eques, routines, etc

Ü Probl`eme : comment ne pas les charger dans chaque UFD ?

Utilisateur OS

R´epertoire d’utilisateur sp´ecial

Recherche par d´efautsi absent du r´epertoire de l’utilisateur Ordre de recherche sp´ecifi´e (variablePATH)

(37)

Structure `a deux niveaux : partage de fichiers Fichiers de l’OS

Exemples : biblioth`eques, routines, etc

Ü Probl`eme : comment ne pas les charger dans chaque UFD ? Utilisateur OS

R´epertoire d’utilisateur sp´ecial

Recherche par d´efautsi absent du r´epertoire de l’utilisateur Ordre de recherche sp´ecifi´e (variablePATH)

(38)

Notion de fichier Ouverture de fichier epertoires Syst`eme de fichiers Conclusion Structure de base Structures multi-niveau

Structure arborescente Principe

G´en´eralisation de la structure `a 2 niveaux : R´epertoire racine (MFD)

Sous-r´epertoires, pouvant `a leur tour jouer le rˆole de MFD

root

sbd1 sbd2

(39)

Structure arborescente : impl´ementation Fichiers

Bit r´epertoire dans le FCB

Nom unique = chemin depuis la racine (cheminabsolu) OS

R´epertoire courant (par processus)

Ü Recherche `a partir du r´epertoire courant (cheminrelatif) Ü Recherche par d´efaut (PATH)

Appels syst`emes

Cr´eation/Suppression de r´epertoire Changement de r´epertoire courant

(40)

Notion de fichier Ouverture de fichier epertoires Syst`eme de fichiers Conclusion Structure de base Structures multi-niveau

Structure en graphe

Principe

G´en´eralisation de l’arbre avec des liens Ü Grapheacyclique

Liens

R´ef´erencer un fichier d´ecrit dans un autre r´epertoire Ü bit lien dans le r´epertoire + chemin absolu Extension :duplication

Ü FCB recopi´e→ copie et original indiscernables

Ü Compteur de liens (pour savoir quand lib´erer l’espace sur le support physique)

(41)

Structure en graphe

Principe

G´en´eralisation de l’arbre avec des liens Ü Grapheacyclique

Liens

R´ef´erencer un fichier d´ecrit dans un autre r´epertoire Ü bit lien dans le r´epertoire + chemin absolu Extension :duplication

Ü FCB recopi´e→ copie et original indiscernables

Ü Compteur de liens (pour savoir quand lib´erer l’espace sur le support physique)

(42)

Notion de fichier Ouverture de fichier epertoires Syst`eme de fichiers Conclusion Structure de base Structures multi-niveau

Structure en graphe : exemple

root

sbd1 sbd2

lien symb

olique duplication

(43)

Plan

1 Notion de fichier

2 Ouverture de fichier

3 R´epertoires

4 Syst`eme de fichiers Fonctionnement Montage de r´epertoire Impl´ementation Allocation

5 Conclusion

(44)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Notion de syst`eme de fichier D´efinition

Comment stocker les informations (donn´ees & code) sur le disque Comment les organiser

Comment y acc´eder

D´efinit une normede gestion (Ex : FAT, NTFS, EXT4FS, NFS. . . )

Plus g´en´eralement

Organisation de l’ensemble desdonn´eeset desp´eriph´eriques g´er´es par l’OS

Exemple : Linux

→chaque p´eriph´erique est repr´esent´e par un fichier

(45)

Notion de syst`eme de fichier D´efinition

Comment stocker les informations (donn´ees & code) sur le disque Comment les organiser

Comment y acc´eder

D´efinit une normede gestion (Ex : FAT, NTFS, EXT4FS, NFS. . . )

Plus g´en´eralement

Organisation de l’ensemble desdonn´eeset desp´eriph´eriques g´er´es par l’OS

Exemple : Linux

→chaque p´eriph´erique est repr´esent´e par un fichier

(46)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Notion de syst`eme de fichier Diff´erence avec la RAM

Grande quantit´e de donn´ees Acc`es lent (rapport 103 `a 106) Notion de bloc

Unit´e de base du support physique

Ü Toutes les donn´ees `a stocker sont d´ecoup´ees en bloc Taille fixe (de 32o `a 1Mo selon support)

Exemples : disques dur ann´ees 2000 = 512o, SSD actuel = 1Mo

Syst`eme de fichiers (FileSystem)

Organisation des fichiers en blocs (cf. m´emoire pagin´ee)

(47)

Structure d’un syst`eme de fichiers Syst`eme logique

Structure de r´epertoires

FCB + gestion de la protection Syst`eme physique

Fichiers → ensemble de blocs logiques Bloc logique→ blocs physique

cf. m´emoire pagin´ee

Identification des blocs physiques selon support Lien : pilote de p´eriph´erique

Appel syst`eme (ex : chargement bloc 456)→ instruction mat´eriel

(48)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Montage de r´epertoire Le syst`eme de fichiers. . .

. . . associe des noms `a des blocs logiques (fichiers) . . . associe des noms `a des r´epertoires venus du disque !

Montage de r´epertoire

Le montage consiste `a positionner un r´epertoire dans le syst`eme de fichier

Principe

Chargement du FCB par l’OS (disque→ RAM)

→Attribu´e `a l’utilisateur du processus Association dans le MFDau niveau logique

→Les fichiers deviennent accessibles

(49)

Montage de r´epertoire Le syst`eme de fichiers. . .

. . . associe des noms `a des blocs logiques (fichiers) . . . associe des noms `a des r´epertoires venus du disque ! Montage de r´epertoire

Le montage consiste `a positionner un r´epertoire dans le syst`eme de fichier

Principe

Chargement du FCB par l’OS (disque→ RAM)

→Attribu´e `a l’utilisateur du processus Association dans le MFDau niveau logique

→Les fichiers deviennent accessibles

(50)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Structure de contrˆole

Sur le disque

Bloc de d´emarrage→chargement de l’OS depuis une partition Bloc de contrˆole de partition :Master File Table

Bloc de contrˆole de r´epertoire ou de fichier (FCB)

Au niveau de l’OS

Table des partitions/r´epertoires mont´es Cache des r´epertoires

Table des fichiers ouverts (copie des FCB) Blocs logiques

(51)

Structure de contrˆole

Sur le disque

Bloc de d´emarrage→chargement de l’OS depuis une partition Bloc de contrˆole de partition :Master File Table

Bloc de contrˆole de r´epertoire ou de fichier (FCB) Au niveau de l’OS

Table des partitions/r´epertoires mont´es Cache des r´epertoires

Table des fichiers ouverts (copie des FCB) Blocs logiques

(52)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Acc`es `a un fichier

Application

RAM (OS)

Cache r´epertoires Table fichiers ouverts

Disque

epertoire FCB

Bloc Bloc Bloc

Fichier

Le syst`eme de fichier (sur le disque) d´efinit la struc- turation des donn´ees

FCB(dir)

Le r´epertoire est mont´e : il y a un FCB qui le ef´erence dans la table des fichiers ouverts!

Lors du premier acc`es `a un fichier. . .

open(dir/file.ext)

? epertoire

acc`es disque

FCB

acc`es disque

Acc`es au fichier ouvert. . .

read(dir/file.ext)

Bloc Bloc

acc`es disque

(53)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Acc`es `a un fichier

Application

RAM (OS)

Cache r´epertoires Table fichiers ouverts

Disque

epertoire FCB

Bloc Bloc Bloc

Fichier Le syst`eme de fichier (sur le disque) d´efinit la struc- turation des donn´ees

FCB(dir)

ef´erence dans la table des fichiers ouverts!

Lors du premier acc`es `a un fichier. . .

open(dir/file.ext)

? epertoire

acc`es disque

FCB

acc`es disque

Acc`es au fichier ouvert. . .

read(dir/file.ext)

Bloc Bloc

acc`es disque

(54)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Acc`es `a un fichier

Application

RAM (OS)

Cache r´epertoires Table fichiers ouverts

Disque

epertoire FCB

Bloc Bloc Bloc

Fichier

Le syst`eme de fichier (sur le disque) d´efinit la struc- turation des donn´ees

FCB(dir)

Le r´epertoire est mont´e : il y a un FCB qui le ef´erence dans la table des fichiers ouverts!

Lors du premier acc`es `a un fichier. . .

open(dir/file.ext)

? epertoire

acc`es disque

FCB

acc`es disque

Acc`es au fichier ouvert. . .

read(dir/file.ext)

Bloc Bloc

acc`es disque

(55)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Acc`es `a un fichier

Application

RAM (OS)

Cache r´epertoires Table fichiers ouverts

Disque

epertoire FCB

Bloc Bloc Bloc

Fichier

Le syst`eme de fichier (sur le disque) d´efinit la struc- turation des donn´ees

FCB(dir)

Le r´epertoire est mont´e : il y a un FCB qui le ef´erence dans la table des fichiers ouverts!

Lors du premier acc`es `a un fichier. . .

open(dir/file.ext)

? epertoire

FCB

Acc`es au fichier ouvert. . .

read(dir/file.ext)

Bloc Bloc

acc`es disque

(56)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Acc`es `a un fichier

Application

RAM (OS)

Cache r´epertoires Table fichiers ouverts

Disque

epertoire FCB

Bloc Bloc Bloc

Fichier

Le syst`eme de fichier (sur le disque) d´efinit la struc- turation des donn´ees

FCB(dir)

Le r´epertoire est mont´e : il y a un FCB qui le ef´erence dans la table des fichiers ouverts!

Lors du premier acc`es `a un fichier. . .

open(dir/file.ext)

?

epertoire

acc`es disque

FCB

acc`es disque

Acc`es au fichier ouvert. . .

read(dir/file.ext)

Bloc Bloc

acc`es disque

(57)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Acc`es `a un fichier

Application

RAM (OS)

Cache r´epertoires Table fichiers ouverts

Disque

epertoire FCB

Bloc Bloc Bloc

Fichier

Le syst`eme de fichier (sur le disque) d´efinit la struc- turation des donn´ees

FCB(dir)

Le r´epertoire est mont´e : il y a un FCB qui le ef´erence dans la table des fichiers ouverts!

Lors du premier acc`es `a un fichier. . .

open(dir/file.ext)

? epertoire

FCB

Acc`es au fichier ouvert. . .

read(dir/file.ext)

Bloc Bloc

acc`es disque

(58)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Acc`es `a un fichier

Application

RAM (OS)

Cache r´epertoires Table fichiers ouverts

Disque

epertoire FCB

Bloc Bloc Bloc

Fichier

Le syst`eme de fichier (sur le disque) d´efinit la struc- turation des donn´ees

FCB(dir)

Le r´epertoire est mont´e : il y a un FCB qui le ef´erence dans la table des fichiers ouverts!

Lors du premier acc`es `a un fichier. . .

open(dir/file.ext)

?

epertoire

acc`es disque

FCB

acc`es disque

Acc`es au fichier ouvert. . .

read(dir/file.ext)

Bloc Bloc

acc`es disque

(59)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Acc`es `a un fichier

Application

RAM (OS)

Cache r´epertoires Table fichiers ouverts

Disque

epertoire FCB

Bloc Bloc Bloc

Fichier

Le syst`eme de fichier (sur le disque) d´efinit la struc- turation des donn´ees

FCB(dir)

Le r´epertoire est mont´e : il y a un FCB qui le ef´erence dans la table des fichiers ouverts!

Lors du premier acc`es `a un fichier. . .

open(dir/file.ext)

?

epertoire

acc`es disque FCB

Acc`es au fichier ouvert. . .

read(dir/file.ext)

Bloc Bloc

acc`es disque

(60)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Acc`es `a un fichier

Application

RAM (OS)

Cache r´epertoires Table fichiers ouverts

Disque

epertoire FCB

Bloc Bloc Bloc

Fichier

Le syst`eme de fichier (sur le disque) d´efinit la struc- turation des donn´ees

FCB(dir)

Le r´epertoire est mont´e : il y a un FCB qui le ef´erence dans la table des fichiers ouverts!

Lors du premier acc`es `a un fichier. . .

open(dir/file.ext)

?

epertoire

acc`es disque FCB

acc`es disque

Acc`es au fichier ouvert. . .

read(dir/file.ext)

Bloc Bloc

acc`es disque

(61)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Acc`es `a un fichier

Application

RAM (OS)

Cache r´epertoires Table fichiers ouverts

Disque

epertoire FCB

Bloc Bloc Bloc

Fichier

turation des donn´ees

FCB(dir)

ef´erence dans la table des fichiers ouverts!

Lors du premier acc`es `a un fichier. . .

open(dir/file.ext)

?

epertoire

acc`es disque

FCB

acc`es disque

read(dir/file.ext)

Bloc Bloc

acc`es disque

(62)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Acc`es `a un fichier

Application

RAM (OS)

Cache r´epertoires Table fichiers ouverts

Disque

epertoire FCB

Bloc Bloc Bloc

Fichier

Le syst`eme de fichier (sur le disque) d´efinit la struc- turation des donn´ees

FCB(dir)

Le r´epertoire est mont´e : il y a un FCB qui le ef´erence dans la table des fichiers ouverts!

Lors du premier acc`es `a un fichier. . .

open(dir/file.ext)

?

epertoire

acc`es disque

FCB

acc`es disque

Acc`es au fichier ouvert. . .

read(dir/file.ext)

Bloc Bloc

acc`es disque

(63)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Acc`es `a un fichier

Application

RAM (OS)

Cache r´epertoires Table fichiers ouverts

Disque

epertoire FCB

Bloc Bloc Bloc

Fichier

turation des donn´ees

FCB(dir)

ef´erence dans la table des fichiers ouverts!

open(dir/file.ext)

?

epertoire

acc`es disque

FCB

acc`es disque

Acc`es au fichier ouvert. . .

read(dir/file.ext)

Bloc Bloc

acc`es disque

(64)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Acc`es `a un fichier

Application

RAM (OS)

Cache r´epertoires Table fichiers ouverts

Disque

epertoire FCB

Bloc Bloc Bloc

Fichier

Le syst`eme de fichier (sur le disque) d´efinit la struc- turation des donn´ees

FCB(dir)

Le r´epertoire est mont´e : il y a un FCB qui le ef´erence dans la table des fichiers ouverts! Lors du premier acc`es `a un fichier. . .

open(dir/file.ext)

?

epertoire

acc`es disque

FCB

acc`es disque

Acc`es au fichier ouvert. . .

read(dir/file.ext)

Bloc Bloc

acc`es disque

(65)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Acc`es `a un fichier

Application

RAM (OS)

Cache r´epertoires Table fichiers ouverts

Disque

epertoire FCB

Bloc Bloc Bloc

Fichier

turation des donn´ees

FCB(dir)

ef´erence dans la table des fichiers ouverts!

open(dir/file.ext)

?

epertoire

acc`es disque

FCB

acc`es disque

Acc`es au fichier ouvert. . .

read(dir/file.ext)

Bloc

Bloc

acc`es disque

(66)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Acc`es `a un fichier

Application

RAM (OS)

Cache r´epertoires Table fichiers ouverts

Disque

epertoire FCB

Bloc Bloc Bloc

Fichier

Le syst`eme de fichier (sur le disque) d´efinit la struc- turation des donn´ees

FCB(dir)

Le r´epertoire est mont´e : il y a un FCB qui le ef´erence dans la table des fichiers ouverts! Lors du premier acc`es `a un fichier. . .

open(dir/file.ext)

?

epertoire

acc`es disque

FCB

acc`es disque

Acc`es au fichier ouvert. . .

read(dir/file.ext)

Bloc Bloc

acc`es disque

(67)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Allocation Probl`eme

Fichiers→ blocs logiques→ blocs physiques Ü Choix des blocs physiques pour 1 fichier donn´e

Fichiers : toto.c prog.exe file.dat

Disque :

(68)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Allocation Probl`eme

Fichiers→ blocs logiques→ blocs physiques Ü Choix des blocs physiques pour 1 fichier donn´e

Fichiers : toto.c prog.exe file.dat

Disque :

etc

(69)

Allocation Probl`eme

Fichiers→ blocs logiques→ blocs physiques Ü Choix des blocs physiques pour 1 fichier donn´e

Fichiers : toto.c prog.exe file.dat

Disque :

etc

3 m´ethodes possibles Allocation contigu¨e Allocation chaˆın´ee Allocation index´ee

Chaque m´ethode a ses avantages et inconv´enients !

(70)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Allocation contigu¨e Principe

Ranger les blocs les uns derri`ere les autres

Fichiers : toto.c prog.exe file.dat

epertoire : FCB FCB FCB . . .

Disque :

prog.exe toto.c file.dat

(71)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Allocation contigu¨e Principe

Ranger les blocs les uns derri`ere les autres

Fichiers : toto.c prog.exe file.dat

epertoire : FCB FCB FCB . . .

Disque :

(72)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Allocation contigu¨e Principe

Ranger les blocs les uns derri`ere les autres

Fichiers : toto.c prog.exe file.dat

epertoire : FCB FCB FCB . . .

Disque : prog.exe

toto.c file.dat

(73)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Allocation contigu¨e Principe

Ranger les blocs les uns derri`ere les autres

Fichiers : toto.c prog.exe file.dat

epertoire : FCB FCB FCB . . .

Disque : prog.exe toto.c

(74)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Allocation contigu¨e Principe

Ranger les blocs les uns derri`ere les autres

Fichiers : toto.c prog.exe file.dat

epertoire : FCB FCB FCB . . .

Disque : prog.exe toto.c file.dat

(75)

Allocation contigu¨e Principe

Ranger les blocs les uns derri`ere les autres Avantages

3 Acc`es au bloc suivant : aucun coˆut 3 FCB : adresse bloc d´epart + taille Inconv´enients

7 Fragmentation (compactage coˆuteux) 7 Connaˆıtre `a l’avance la taille des fichiers 7 Recherche d’espace libre coˆuteux

7 Strat´egies d’allocation (BestFit, FirstFit, WorstFit) `a d´efinir

(76)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Allocation chaˆın´ee Principe

Fichier = liste chaˆın´ee de blocs

Fichiers : toto.c prog.exe file.dat

epertoire : FCB FCB FCB . . .

Disque :

(77)

Allocation chaˆın´ee Principe

Fichier = liste chaˆın´ee de blocs

Fichiers : toto.c prog.exe file.dat

epertoire : FCB FCB FCB . . .

Disque :

(78)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Allocation chaˆın´ee Principe

Fichier = liste chaˆın´ee de blocs

Fichiers : toto.c prog.exe file.dat

epertoire : FCB FCB FCB . . .

Disque :

(79)

Allocation chaˆın´ee Principe

Fichier = liste chaˆın´ee de blocs

Fichiers : toto.c prog.exe file.dat

epertoire : FCB FCB FCB . . .

Disque :

(80)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Allocation chaˆın´ee Principe

Fichier = liste chaˆın´ee de blocs Avantages

3 FCB : adresse premier et dernier blocs 3 Pas de fragmentation

3 Fichiers taille quelconque Inconv´enients

7 Acc`es s´equentiel : Ne bloc→ N acc`es disques !

7 Fiabilit´e : 1 bloc endommag´e →tout le fichier est perdu 7 Espace utilis´e par les pointeurs (relativement n´egligeable)

(81)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Allocation index´ee Principe

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

Fichiers : toto.c prog.exe file.dat

epertoire : FCB FCB FCB . . .

Disque :

@bloc0

@bloc1

@bloc2

@bloc3

(82)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Allocation index´ee Principe

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

Fichiers : toto.c prog.exe file.dat

epertoire : FCB FCB FCB . . .

Disque :

Index

@bloc0

@bloc1

@bloc2

@bloc3

Index

(83)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Allocation index´ee Principe

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

Fichiers : toto.c prog.exe file.dat

epertoire : FCB FCB FCB . . .

Disque : Index

@bloc0

@bloc1

@bloc2

@bloc3

(84)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Allocation index´ee Principe

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

Fichiers : toto.c prog.exe file.dat

epertoire : FCB FCB FCB . . .

Disque : Index

@bloc0

@bloc1

@bloc2

@bloc3

Index

(85)

Allocation index´ee Principe

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

Fichiers : toto.c prog.exe file.dat

epertoire : FCB FCB FCB . . .

Disque : Index

@bloc0

@bloc1

@bloc2

@bloc3

Index

(86)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Allocation index´ee Principe

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

Fichiers : toto.c prog.exe file.dat

epertoire : FCB FCB FCB . . .

Disque : Index

@bloc0

@bloc1

@bloc2

@bloc3

Index

(87)

Allocation index´ee Principe

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

Avantages

3 Pas de fragmentation

3 Acc`es direct (2 acc`es disque) Inconv´enients

7 1 bloc perdu par fichier

7 Taille fichier limit´ee par taille bloc

64 bits×64blocs = 512o max = 64×512o =32 Ko

(88)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Allocation index´ee Probl`eme

Fichiers n´ecessitant plus d’un bloc d’index Exemple :

512Kio de disque, blocs de 8o (exemple non r´ealiste !)

Ü Taille de l’adresse = ?

(89)

Allocation index´ee Probl`eme

Fichiers n´ecessitant plus d’un bloc d’index Exemple :

512Kio de disque, blocs de 8o (exemple non r´ealiste !)

3 Taille de l’adresse = 219÷23 = 216= 16 bits= 2 octets Ü Nombre max d’index/bloc = ?

(90)

Notion de fichier Ouverture de fichier R´epertoires Syst`eme de fichiers Conclusion Fonctionnement Montage de r´epertoire Impl´ementation Allocation

Allocation index´ee Probl`eme

Fichiers n´ecessitant plus d’un bloc d’index Exemple :

512Kio de disque, blocs de 8o (exemple non r´ealiste !)

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 = ?

Références

Documents relatifs

◮ Utilisation mod´er´ee de l’espace RAM car on ne charge que l’inode du fichier ouvert : la taille sur le disque ne d´epend que du nombre de fichiers ouverts simultanement. ◮

D´ efinition (rang d’un syst` eme ´ echelonn´ e) : Le rang r d’un syst`eme ´echelonn´e `a p ´equations et n inconnues est ´egal au nombre d’´equations qui n’ont pas un

Les syst` emes d’exploitation distribu´ es (Distributed Operating Systems) : ces syst` eme sont con¸cu pour permettre une migration transparente des processus et des donn´ ees de

Les syst` emes d’exploitation distribu´ es (Distributed Operating Systems ) : ces syst` eme sont con¸ cu pour permettre une migration transparente des processus et des donn´ ees de

Les syst` emes d’exploitation distribu´ es (Distributed Operating Systems ) : ces syst` eme sont con¸ cu pour permettre une migration transparente des processus et des donn´ ees de

[r]

Pour r´ esoudre un syst` eme, on va faire des combinaisons lin´ eaires d’´ equations, et produire ainsi des ´ equations plus simples... Nombre

Pour chacune des valeurs propres, d´ eterminer un vecteur propre associ´ e.. b) D´ eterminer une matrice P et une matrice diagonale D telles que C = P