Vous êtes sur la page 1sur 20

Syst` emes dexploitation : le syst` eme de gestion de chiers (structures de donn ees implant ees)

Repr esentation des chiers Strat egies de stockage des chiers FAT et nuds dinformation Nud dinformations Ensemble de chiers Volume Compl ements

Syst` emes dexploitation : le syst` eme de gestion de chiers (structures de donn ees implant ees)

Licence miage Universit e Lille 1 Pour toutes remarques : Alexandre.Sedoglavic@univ-lille1.fr

Semestre 6 2012-2013

V-2 (29-01-2010)

www.l.univ-lille1.fr/sedoglav/OS/Cours03.pdf

Syst` emes dexploitation : le syst` eme de gestion de chiers (structures de donn ees implant ees)

Notion de bloc physique


Un disque dur est compos e de secteurs (contenant de 512 ` a 16384 octets), de cylindres (contenant de 20 ` a 200 secteurs) et de plateaux (contenant de 800 ` a 4000 cylindres par exemple). On ne manipule (lecture, etc.) pas les octets individuellement mais on utilise une abstraction : le bloc physique compos e de plusieurs octets. Comment structurer linformation chier ? Deux organisations : 1. organisation contigu e : on doit d eplacer le chier chaque fois que sa taille augmente ; 2. organisation non contigu e : le chier est divis e en blocs et on doit
d eterminer la taille optimale des blocs ; g erer les espaces libres ; repr esenter lensemble des blocs constituant un chier.

Repr esentation des chiers Strat egies de stockage des chiers FAT et nuds dinformation Nud dinformations Ensemble de chiers Volume Compl ements

La taille de bloc utilis ee est denvirons 1Ko an doptimiser lespace disque occup e (un bloc de 32Ko 97% de perte) ; le temps dacc` es aux donn ees.
V55 (29-01-2010) www.l.univ-lille1.fr/sedoglav/OS/Cours03.pdf

Syst` emes dexploitation : le syst` eme de gestion de chiers (structures de donn ees implant ees)

Organisation de lespace disque libre


Los fournit un niveau dabstraction machine qui associe ` a un bloc physique de stockage sur le disque ` a une adresse i.e. un num ero. Le disque peut etre ainsi vue comme une suite lin eaire dadresses On veut maintenant avoir des fonctions de bas niveau du type : fputc, fputs, etc. output of characters and strings fgetc, fgets, etc. input of characters and strings qui prennent en entr ee une adresse disque et manipule le bloc correspondant. Il nous faut repr esenter lespace libre, les chiers et les r epertoires dont les blocs nont aucunes raisons d etre contigu es dans le disque vu comme une suite lin eaire dadresses. Plusieurs structures de donn ees peuvent etre utilis ees : table liste arbre

Repr esentation des chiers Strat egies de stockage des chiers FAT et nuds dinformation Nud dinformations Ensemble de chiers Volume Compl ements

V55 (29-01-2010)

www.l.univ-lille1.fr/sedoglav/OS/Cours03.pdf

Syst` emes dexploitation : le syst` eme de gestion de chiers (structures de donn ees implant ees)

Trois repr esentations possibles de lespace disque libre


Supposons des blocs physiques de 1Ko avec des adresses cod ees sur 2 octets. 1. FreeList : les blocs libres forment une vaste liste cha n ees (les 2 derniers octets du bloc courant formant ladresse du bloc libre suivant par exemple) ; 2. Liste cha n ee de blocs dadresses : chaque bloc dadresses contient :
511 adresses chacune associ ee ` a un bloc libre ; un num ero pour repr esenter le bloc dadresse suivant dans la cha ne.

Repr esentation des chiers Strat egies de stockage des chiers FAT et nuds dinformation Nud dinformations Ensemble de chiers Volume Compl ements

3. Table de bits (bitmap)


` a chaque bloc du disque est associ e un bits (0 sil est libre, 1 sil est occup e) ; la table est plus concise que la liste.

Pour un disque de 20Mo (chaque bloc faisant 1Ko), les di erentes repr esentations des blocs libres occupent : 1 : 20000 blocs
V55 (29-01-2010)

2 : 40 blocs

3 : 3 blocs.
www.l.univ-lille1.fr/sedoglav/OS/Cours03.pdf

Syst` emes dexploitation : le syst` eme de gestion de chiers (structures de donn ees implant ees)

File Allocation Table


Pour structurer lensemble des blocs constituant un chier, il faut : stocker lensemble des adresses physiques num ero de bloc du disque constituant le chier ; en faisant la correspondance entre ces adresses physiques et les adresses logiques position dans le chier des blocs constituant le chiers. Pour ce faire, on peut utiliser plusieurs types de repr esentations simples (liste et table) : 1. Liste cha n es : chaque bloc contient 1Ko de donn ees moins 2 octets qui repr esentent un pointeur sur le bloc suivant du chier. Mais, lacc` es al eatoire est dicile ` a mettre en uvre car il faut parcourir les blocs de la liste pour acc eder aux suivants. 2. Table dallocation des chiers (File Allocation Table) a autant de cellules quil y a de bloc sur le support. Ce format a et e le standard Microsoft jusqu` a ladoption de ntfs.

Repr esentation des chiers Strat egies de stockage des chiers FAT et nuds dinformation Nud dinformations Ensemble de chiers Volume Compl ements

V55 (29-01-2010)

www.l.univ-lille1.fr/sedoglav/OS/Cours03.pdf

Syst` emes dexploitation : le syst` eme de gestion de chiers (structures de donn ees implant ees)

Principe de la FAT

Repr esentation des chiers Strat egies de stockage des chiers FAT et nuds dinformation Nud dinformations Ensemble de chiers Volume Compl ements

Dans une fat, chaque cellule contient : soit ladresse du bloc suivant du chier, soit un code End Of File ; soit un code indiquant que le bloc correspondant est libre (L), ou endommag es (E). Un exemple de fat contenant deux chiers :
0 1 2 6 3 3 4 10 5 9 6 7 7 14 8 L 9 11 10 13 11 EOF 12 E 13 EOF 14 4

La fat code la repr esentation de tous les chiers pas celle de larborescences du fs.

V55 (29-01-2010)

www.l.univ-lille1.fr/sedoglav/OS/Cours03.pdf

Syst` emes dexploitation : le syst` eme de gestion de chiers (structures de donn ees implant ees)

Remarque sur ce type de repr esentation


Ce type de structuration est utilisable pour des disques de petite capacit e mais ils est moins bon pour des grandes : lensemble des chiers sur le volume d ependent de la m eme fat ce qui augmente les risques dendomagement car les blocs la contenant sont fortement sollicit es (de m eme, il faut manipuler toute la fat pour un seul chier). Ce mod` ele nimplante pas de droits portant sur les chiers car si c etait le cas, chaque bloc (cf. la repr esentation arborescente de lensemble des chiers) devrait contenir linformation et la taille de la fat en serait multipli ee. Ce mod` ele a et e abandonn e (mais continu a etre utilis e pour les clefs usb et les disquettes). La taille maximale des chiers d epend directement de la taille du disque (la structuration en fat ne limite pas la taille du chier).

Repr esentation des chiers Strat egies de stockage des chiers FAT et nuds dinformation Nud dinformations Ensemble de chiers Volume Compl ements

V55 (29-01-2010)

www.l.univ-lille1.fr/sedoglav/OS/Cours03.pdf

Syst` emes dexploitation : le syst` eme de gestion de chiers (structures de donn ees implant ees)

Repr esentation arborescente des chiers


Un nud dinformation aussi appel e un inud est une structure de donn ees qui contient des informations sur le chier ; repr esente la liste des blocs physiques du chier ` a laide dun arbre. ` chaque chier, los associe un inud constitu A e dun bloc sur le disque et qui contient des informations comme : le num ero du nud. Chaque inud est connu de los par ce num ero (son inombre). le type de chier index e, le nombre de liens sur ce chier ; Uid du propri etaire, Gid du propri etaire ; les droits concernant ce chier ; la taille du chier, les dates de cr eation, de derni` ere modication, etc. Chaque inud est d esign e par un unique inombre.

Repr esentation des chiers Strat egies de stockage des chiers FAT et nuds dinformation Nud dinformations Ensemble de chiers Volume Compl ements

V55 (29-01-2010)

www.l.univ-lille1.fr/sedoglav/OS/Cours03.pdf

Syst` emes dexploitation : le syst` eme de gestion de chiers (structures de donn ees implant ees)

De plus, linud implante dynamiquement larborescence suivante : un tableau de x adresses de blocs de donn ees dans linud. Ces blocs du disque constituant le chier sont directement adress es depuis linud ; ladresse dun bloc physique dit de 1 indirection contenant un tableau dadresses de blocs de donn ees. Lorsquun chier d epasse x blocs, le fs attribue ` a linud un nouveau bloc du disque pour contenir un tableau dadresses de blocs constituant le chier. ladresse dun bloc physique dit de 2 indirection contenant un tableau dadresses de blocs de 1 indirection. ladresse dun bloc physique dit de 3 indirection contenant un tableau dadresses de blocs de 2 indirection. Cette triple indirection est rarement utilis ee. Si cela sav` ere insusant, ce processus se r ep` ete r ecursivement. Remarquez que la taille de chier est limit ee par le nombre dindirections.

Repr esentation des chiers Strat egies de stockage des chiers FAT et nuds dinformation Nud dinformations Ensemble de chiers Volume Compl ements

V55 (29-01-2010)

www.l.univ-lille1.fr/sedoglav/OS/Cours03.pdf

Syst` emes dexploitation : le syst` eme de gestion de chiers (structures de donn ees implant ees)

Arborescence structurant les blocs physiques dun chiers


renseignement sur le fichier tableau d'adresses de bloc de donnees adresse bloc 1 indirection adresse bloc 2 indirection adresse bloc 3 indirection bloc de 2 indirection tableau d'adresses de bloc de 1 ind. bloc de 3 indirection tableau d'adresses de bloc de 2 ind. etc, etc, etc, etc, etc, etc, etc, bloc de donnees etc, bloc de 1 indirection tableau d'adresses de bloc de donnees

Repr esentation des chiers Strat egies de stockage des chiers FAT et nuds dinformation Nud dinformations Ensemble de chiers Volume Compl ements

etc. etc,

etc,

etc,

V55 (29-01-2010)

www.l.univ-lille1.fr/sedoglav/OS/Cours03.pdf

Syst` emes dexploitation : le syst` eme de gestion de chiers (structures de donn ees implant ees)

Structure interne dun r epertoire


Il existe g en eralement plusieurs types de chiers dont : 1. les chiers ordinaires : tableaux lin eaires doctets identi es par un num ero dinud 2. les chiers sp eciaux associ ees aux p eriph eriques ou aux processus 3. les r epertoires : ces chiers permettent de rep erer un chier ordinaire par un nom plut ot que par son inombre. Les r epertoires sont des chiers comme les autres qui contiennent une table associant le nom des chiers aux blocs physiques. ms-dos : le r epertoire contient les informations suivantes :
8 nom 3 octets extension 1 attribut 10 r eserv e 2 heure 2 date 2 rst bloc num 4 taille

Repr esentation des chiers Strat egies de stockage des chiers FAT et nuds dinformation Nud dinformations Ensemble de chiers Volume Compl ements

Ces informations ne sont pas dans la fat qui structure les chiers. unix : les informations comme le propri etaire, etc. etant dans linud il sut de stocker la correspondance chiers-inombre :
4 octets num ero de linud
V55 (29-01-2010)

1 octets longueur du nom

14 octets nom du chier

www.l.univ-lille1.fr/sedoglav/OS/Cours03.pdf

Syst` emes dexploitation : le syst` eme de gestion de chiers (structures de donn ees implant ees)

Les r epertoires susent pour implanter larborescence des chiers


Pour faire la correspondance entre chemins dacc` es et bloc physique (par exemple pour le chier /bar/foo), il faut : 1. Localiser la racine qui est toujours situ ee au m eme endroit (nous verrons ce point en etudiant les volumes dans la seconde partie de ce cours). 2. Faire la correspondance entre le nom suivant et le num ero de linud repr esentant ce chier. 3. Demander ` a los douvrir ce chier :
si cest impossible retourner une erreur ; si cest un r epertoire, recommencer l etape 2 ; sinon cest ni.

Repr esentation des chiers Strat egies de stockage des chiers FAT et nuds dinformation Nud dinformations Ensemble de chiers Volume Compl ements

Par commodit es, un r epertoire contient au moins 2 entr ees : le r epertoire p` ere et lui m eme.

V55 (29-01-2010)

www.l.univ-lille1.fr/sedoglav/OS/Cours03.pdf

Syst` emes dexploitation : le syst` eme de gestion de chiers (structures de donn ees implant ees)

D ecoupage dun support physique : la notion de volume et son organisation


Un support physique est g en eralement structur e de la fa con suivante : Master Boot Record Boot sector super bloc ero absolu de bloc Volume 1 table inombres-num FreeList ou FreeTable blocs de donn ees Boot sector fat Volume 2 blocs de donn ees Le mbr contient un petit programme qui permet de donner la main ` a des volumes di erents contenant des syst` emes dexploitation di erents.

Repr esentation des chiers Strat egies de stockage des chiers FAT et nuds dinformation Nud dinformations Ensemble de chiers Volume Compl ements

V55 (29-01-2010)

www.l.univ-lille1.fr/sedoglav/OS/Cours03.pdf

Syst` emes dexploitation : le syst` eme de gestion de chiers (structures de donn ees implant ees)

Structuration des volumes : le super bloc


Le volume est lunit e de base du File System : il sagit de la structure de donn ees qui accueille la repr esentation des chiers. Il existe syst ematiquement un super-bloc qui contient : le nom du volume et un num ero permettant de d eterminer le fs le nombre de blocs organis es en volume le nombre dinombres disponibles une structure donnant acc` es aux blocs libres une structure donnant acc` es aux inombres libres le bloc d ecrivant le r epertoire racine En m emoire, il existe des structures de donn ees stockant lordonnancement des volumes.

Repr esentation des chiers Strat egies de stockage des chiers FAT et nuds dinformation Nud dinformations Ensemble de chiers Volume Compl ements

V55 (29-01-2010)

www.l.univ-lille1.fr/sedoglav/OS/Cours03.pdf

Syst` emes dexploitation : le syst` eme de gestion de chiers (structures de donn ees implant ees)

Structuration des volumes : le super bloc


Les blocs constituant un chier peuvent etre structur e par : une table fat un inud Quand le syst` eme manipule un chier il doit donc disposer dans ces cas : de la clef de d ebut du chier dans la fat de linombre qui est associ e` a un inud Il faut organiser au sein du volume les structures de donn ees repr esentant les chiers et les blocs libres. Il existe g en eralement une table des inuds qui associe un num ero ` a un bloc contenant linud an de le localiser. Un des premiers inombres est r eserv e pour la racine. Dans le superbloc, on trouve toujours linombre de la racine de larborescence. ` partir des entr A ees de la racine, on peut se d eplacer dans cette arborescence.

Repr esentation des chiers Strat egies de stockage des chiers FAT et nuds dinformation Nud dinformations Ensemble de chiers Volume Compl ements

V55 (29-01-2010)

www.l.univ-lille1.fr/sedoglav/OS/Cours03.pdf

Syst` emes dexploitation : le syst` eme de gestion de chiers (structures de donn ees implant ees)

Virtual File System : montage de FS di erents


An de pouvoir monter plusieurs fs dans la m eme arbrorescence, los interpose entre le fs qui g ere eectivement le volume et les proc edures quil met ` a disposition un syst` eme de chiers virtuel. Ce nest pas une abstraction suppl ementaire mais un fs virtuel qui nexiste pas en m emoire persistante mais en m emoire vive. Ce vfs stocke ainsi lensemble des informations n ecessaires pour la gestion des di erents fs mont es (superbloc, etc).
LABEL=/ none none LABEL=/home_local none none /dev/hda6 /dev/hda8 /dev/hdc /dev/sda1 / /dev/pts /dev/shm /home_local /proc /sys /windows_E swap /media/cdrom /media/usb-storage ext3 devpts tmpfs ext3 proc sysfs vfat swap auto vfat defaults gid=5,mode=620 defaults defaults defaults defaults defaults defaults pamconsole, pamconsole, ... 1 0 0 1 0 0 0 0 1 0 0 2 0 0 0 0

Repr esentation des chiers Strat egies de stockage des chiers FAT et nuds dinformation Nud dinformations Ensemble de chiers Volume Compl ements

V55 (29-01-2010)

www.l.univ-lille1.fr/sedoglav/OS/Cours03.pdf

Syst` emes dexploitation : le syst` eme de gestion de chiers (structures de donn ees implant ees)

Utilisation du FS pour les entr ees-sorties


Il existe dans le r epertoire /dev/, des chiers associ es ` a des p eriph eriques physiques avec 2 m ethodes dacc` es possibles : 1. Utiliser un appel syst` eme open, etc. pour ecrire dans le chier. Mais dans ce cas, le processus utilisateur pourrait accaparer et donc bloquer le p eriph erique en cas de probl` eme ; 2. Passer par un spool :
on construit un r epertoire d edi e avec des droits ad equates ; un processus tourne en arri` ere fond on parle de d emon.

Repr esentation des chiers Strat egies de stockage des chiers FAT et nuds dinformation Nud dinformations Ensemble de chiers Volume Compl ements

Pour transmettre de linformation au service, on place un chier dans le r epertoire. Le d emon inspecte r eguli` erement ce dernier et g` ere le chier ainsi plac e. Voici quelques exemples de spool
% ll /var/spool/ total 88 drwx------ 3 daemon drwx------ 2 root drwxr-xr-x 2 root drwxrwxr-x 2 root daemon root root mail 4096 4096 4096 4096 Jan Oct Aug Jan 10 15 12 24 09:56 16:20 19:02 11:31 at cron lpd mail

V55 (29-01-2010)

www.l.univ-lille1.fr/sedoglav/OS/Cours03.pdf

Syst` emes dexploitation : le syst` eme de gestion de chiers (structures de donn ees implant ees)

Les verrous dacc` es ` a un chier

Repr esentation des chiers Strat egies de stockage des chiers FAT et nuds dinformation Nud dinformations Ensemble de chiers Volume Compl ements

Los maintient egalement une table des verrous. Les verrous sont des m ecanismes de contr ole dacc` es aux chiers. Les verrous disposent de 2 caract eristiques : sa port e : les num eros logiques de d ebut et de n auxquels le verrou sapplique. On peut ainsi ne verrouiller quune partie de chier ; son type : qui peut soit autoriser la cohabitation avec un autre verrou bloquant le m eme chier, soit lexclure. Ainsi en th eorie los doit tester la pr esence dun verrou d` es quun processus demande un acc` es ` a un chier et suivant l etat du verrou autoriser ou non la requ ete.

V55 (29-01-2010)

www.l.univ-lille1.fr/sedoglav/OS/Cours03.pdf

Syst` emes dexploitation : le syst` eme de gestion de chiers (structures de donn ees implant ees)

New Technologie File System (NTFS)


Il existe dautre fa cons de construire un fs. Par exemple dans ntfs, tout est structur e sous forme de chiers : ce qui remplace les inodes et la fat est contenu dans un chier (le mft). Il existe plusieurs chiers permettant de manipuler le volume : le chier de boot est un chier toujours au m eme endroit. Entre autres informations, il contient ladresse physique du mft ; le Master File Table qui est une gigantesque table denregistrements de chiers. Un enregistrement est une table dont les clefs sont des attributs et les entr ees leurs valeurs. Un attribut peut etre : le nom du chier, les informations : propri etaire, la date de cr eation, les droits du chiers, etc. ; une structure arborescente faisant la correspondance entre adresses physiques et logiques (m eme principe que les inodes) ; les blocs de donn ees dun chier.

Repr esentation des chiers Strat egies de stockage des chiers FAT et nuds dinformation Nud dinformations Ensemble de chiers Volume Compl ements

V55 (29-01-2010)

www.l.univ-lille1.fr/sedoglav/OS/Cours03.pdf

Syst` emes dexploitation : le syst` eme de gestion de chiers (structures de donn ees implant ees)

Repr esentation des chiers Strat egies de stockage des chiers FAT et nuds dinformation Nud dinformations Ensemble de chiers Volume Compl ements

La notion dattribut provient du mod` ele transactionnel sur lequel se base ce fs (Ext3 implante aussi ce type de mod` ele tout en conservant les inuds). Contrairement aux exemples pr ec edants, aucune limite nest impos ee par construction ` a la taille maximale dun chier. Lorsque le chier est susament petit, les blocs de donn ees peuvent etre contenus dans lenregistrement et donc dans le mft ! ! ! Voici quelques exemples dentr ees de cette table : 0. lenregistrement du mft ; 1. lenregistrement de la copie du mft ; 5. lenregistrement du r epertoire racine ; 6. lenregistrement dun chier bitmap pour les blocs libres ; 8. lenregistrement dun chier constitu e des blocs d efectueux ; les chiers utilisateurs commencent ` a la clef 16.

V55 (29-01-2010)

www.l.univ-lille1.fr/sedoglav/OS/Cours03.pdf

Vous aimerez peut-être aussi