Page suivantePage pr�c�denteTable des mati�res

8. Comment mon ordinateur stocke des choses sur le disque ?

Sur votre disque dur sous Unix, vous voyez un arbre de r�pertoires nomm�s et des fichiers. Normalement vous ne devriez pas � chercher � en savoir plus, mais cela peut s'av�rer utile de savoir ce qu'il y a dessous si vous avez un crash disque et besoin d'essayer de nettoyer des fichiers. Malheureusement il n'y a pas de bon moyen de d�crire l'organisation du disque en partant du niveau fichier et en descendant, c'est pour cela que je le d�crirai en remontant � partir du niveau mat�riel.

8.1 Bas niveau du disque et structure du syst�me de fichiers

La surface de votre disque , sur laquelle il stocke les donn�es est divis�e comme une cible de jeu de fl�chettes -- en pistes circulaires qui sont partag�es en secteurs. Parce que les pistes de l'ext�rieur contiennent plus de surface que celles pr�s de l'axe de rotation, au centre du disque, les pistes externes ont plus de secteurs que celles de l'int�rieur. Chaque secteur (ou bloc disque) a la m�me taille, qui est g�n�ralement de 1Ko (1024 mots de 8 bits). Chaque bloc disque a une adresse unique ou un num�ro de bloc disque.

Unix divise le disque en partitions disque. Chaque partition est une succession de blocs qui est utilis�e ind�pendamment des autres partitions, comme un syst�me de fichiers ou un espace d'�change (swap space). La partition ayant le plus petit num�ro est souvent trait�e sp�cialement, telle la partition de boot dans laquelle vous pouvez mettre un noyau pour booter.

Chaque partition est soit un espace de swap (utilis� pour impl�menter la m�moire virtuelle) soit un syst�me de fichiers pour stocker des fichiers. Les partitions de swap sont trait�es comme une s�quence lin�aire de blocs. Les syst�mes de fichiers d'un autre cot�, ont besoin de relier les noms de fichiers � des s�quences de blocs disque. Parce que les fichiers grossissent, diminuent, et changent tout le temps, les blocs de donn�es d'un fichier ne seront pas une s�quence lin�aire mais pourront �tre dispers�s sur toute la partition (tant que le syst�me d'exploitation pourra trouver un bloc libre).

8.2 Noms de fichiers et r�pertoires

Dans chaque syst�me de fichiers, la liaison entre les noms et les blocs est r�alis�e gr�ce � une structure appel�e i-node (noeud d'index). Il y en a tout un tas proche de la "base" (num�ro de bloc les plus faibles) du syst�me de fichiers (les tout premiers sont utilis�s pour des besoins d'int�grit� et de label que nous ne d�crirons pas ici). Chaque i-node d�crit un fichier. Les blocs de donn�es des fichiers sont au dessus des i-nodes (conceptuellement).

Chaque i-node contient la liste des num�ros des blocs du fichier (r�ellement c'est une demi-v�rit�, c'est seulement valable pour les petits fichiers, mais le reste de ces d�tails ne sont pas importants ici). Notez que l'i-node ne contient pas le nom du fichier.

Les noms des fichiers r�sident dans les structures de r�pertoires. Une structure de r�pertoire contient juste une table des noms et des num�ros d'i-node associ�s. C'est la raison pour laquelle, sous Unix, un fichier peut avoir plusieurs noms r�els (ou liens forts (hard links)) ; Il y a juste plusieurs entr�es dans un r�pertoire qui pointent vers le m�me i-node.

8.3 Points de montage

Dans le cas le plus simple, votre syst�me de fichiers Unix tient sur une seule partition disque. Cependant vous verrez que cette disposition sur des petits syst�mes Unix n'est pas pratique. Typiquement il est r�parti sur plusieurs partitions disque voire sur plusieurs disques physiques. Ainsi par exemple, votre syst�me peut avoir une petite partition o� le noyau r�side, une un peu plus grande pour les utilitaires du syst�me et une beaucoup plus grosse pour les r�pertoires des utilisateurs.

La seule partition � laquelle vous aurez acc�s imm�diatement apr�s le boot est votre partition racine (root partition), qui est (presque toujours) celle � partir de laquelle vous avez boot�. Elle contient le r�pertoire racine du syst�me de fichiers, le noeud le plus haut � partir duquel tout est raccroch�.

Les autres partitions du syst�me doivent �tre attach�es � cette racine afin que votre syst�me de fichiers unique ou multi-partition soit accessible. Au milieu du processus de boot, votre Unix rendra ces partitions 'non root' accessibles. Il devra monter chacune d'elles sur un r�pertoire de la partition racine.

Par exemple, si votre Unix a un r�pertoire appel� '/usr', c'est probablement un point de montage d'une partition qui contient un tas de programmes install�s avec votre Unix mais qui ne sont pas n�cessaires durant la phase initiale de boot.

8.4 Comment un fichier est retrouv� ?

Maintenant nous pouvons consid�rer le syst�me de fichiers dans une d�marche descendante. Lorsque vous ouvrez un fichier (tel que /home/esr/WWW/ldp/fundamentals.sgml) voici ce qu'il arrive :

Votre noyau d�marre de la racine de votre syst�me de fichiers Unix (dans la partition root). Il cherche un r�pertoire appel� `home'. Habituellement `home' est un point de montage d'une grande partition pour les utilisateurs, il descend � l'int�rieur. Au sommet de la structure du r�pertoire de cette partition utilisateur, il va chercher une entr�e nomm�e `esr' et en extraire le num�ro d'i-node. Il ira � cette i-node, notez que c'est une structure de r�pertoire, et retrouvera `WWW'. En exploitant cet i-node, il ira au sous r�pertoire correspondant et retrouvera `ldp'. Ce qui lui donnera encore un autre i-node r�pertoire. En ouvrant ce dernier, il trouvera un num�ro d'i-node pour `fundamentals.sgml'. Cet i-node n'est pas un r�pertoire mais fournit la liste des blocs associ�s au fichier.

8.5 Comment les choses peuvent d�g�n�rer ?

Plus haut, nous avons laiss� entendre que les syst�mes de fichiers �taient fragiles. Maintenant nous savons que pour acc�der � un fichier vous devez parcourir une longue cha�ne arbitraire de r�f�rences � des r�pertoires et � des inodes. A pr�sent, supposons que votre disque dur poss�de une zone d�fectueuse.

Si vous �tes chanceux, il d�truira quelques donn�es d'un fichier. Si vous �tes malchanceux, il va corrompre une structure de r�pertoire ou un num�ro d'inode et laissera un sous arbre entier de votre syst�me dans l'oubli -- ou, pire, cela a donn� une structure corrompue qui pointe par plusieurs chemins au m�me bloc disque ou inode. Une telle corruption peut s'�tendre par des op�rations courantes sur les fichiers qui ne se trouvent pas au point d'origine.

Heureusement, ce genre de d'impr�vu devient de plus en plus rare car les disques sont de plus en plus fiables. Malgr� tout, cela veut dire que votre Unix voudra v�rifier p�riodiquement l'int�grit� du syst�me de fichiers afin de s'assurer que rien ne cloche. Les Unix modernes font une v�rification rapide sur chaque partition au moment du boot, juste avant de les monter. Au bout d'un certain nombre de red�marrages (reboot), la v�rification sera plus approfondie et durera quelques minutes.

Si tout cela vous parait, comme Unix, terriblement complexe et pr�dispos� aux d�faillances, au contraire, c'est rassurant de savoir que ces v�rifications faites au d�marrage de la machine, d�tectent et corrigent les probl�mes courants avant qu'ils ne deviennent r�ellement d�sastreux. D'autres syst�mes d'exploitation ne disposent pas de ces fonctionnalit�s, qui acc�l�rent un petit peu le d�marrage, mais peuvent vous laisser tout 'bousiller' en essayant de r�cup�rer � la main (et en supposant que vous ayez une copie des Utilitaires Norton ou autre � port�e de main...).


Page suivantePage pr�c�denteTable des mati�res

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:24