Créez une requête de sélection simple. Réutiliser une source de données

NTFS, FAT ou exFAT sont des systèmes de fichiers complètement différents qui peuvent être utilisés pour stocker des données sur différents supports. Les deux ont été créés par Microsoft et sont principalement utilisés pour Windows, mais ils sont également pris en charge dans le noyau Linux.

Le plus souvent, NTFS est utilisé pour installer le système d'exploitation Windows ou des partitions Windows pour les fichiers, tandis que FAT est souvent utilisé sur des lecteurs flash ou d'autres périphériques de stockage externes. De plus, FAT peut souvent être utilisé comme système de fichiers principal pour Android. Dans cet article, nous examinerons les différences entre FAT et NTFS, nous analyserons en détail en quoi ils diffèrent et pourquoi ils sont nécessaires.

Le système de fichiers définit les règles de base sur la façon dont les données seront organisées lorsqu'elles seront écrites sur un support, qu'il s'agisse d'un disque dur ou d'un lecteur flash. Le système de fichiers décrit la façon dont les dossiers seront organisés.

Une certaine donnée appelée fichier est placée dans la zone souhaitée du lecteur. Le système de fichiers effectue tous les calculs nécessaires, détermine également la taille minimale indivisible d'un bloc de données, la taille maximale du fichier et surveille la fragmentation. Il existe de nombreux types de systèmes de fichiers, tels que les systèmes de fichiers d'installation du système d'exploitation, les systèmes de fichiers multimédias externes, les systèmes de fichiers sur disque optique et les systèmes de fichiers distribués. Mais dans cet article, nous comparerons uniquement les fichiers gras et ntfs.

Qu’est-ce que le système de fichiers FAT ?

Les systèmes de fichiers fat32 et ntfs sont très différents. FAT signifie Table d'allocation de fichiers. Il s'agit d'un système de fichiers très ancien dans l'histoire des systèmes informatiques. Son histoire commence en 1977. Ensuite, un système de fichiers 8 bits a été développé, utilisé dans le NCR 7200 basé sur l'Intel 8080. Il s'agissait d'un terminal d'entrée fonctionnant avec des disquettes. Le système de fichiers a été écrit par Mark McDonald, employé de Microsoft, après avoir discuté du concept avec Bill Gates.

Le système de fichiers FAT a alors commencé à être utilisé dans le système d'exploitation MDOS de la plateforme Z80. Quelques années plus tard, de nouvelles versions sont sorties comme FAT12, FAT16 et FAT32.

FAT32 a augmenté la taille maximale du volume à 16 To, par rapport à FAT16. La taille du fichier a également été augmentée à 4 Go. File Allocation Table 32 bits a été publié en août 1995 pour Windows 95. Mais ce système de fichiers ne peut toujours pas être utilisé pour installer des applications lourdes ou stocker des fichiers volumineux. Par conséquent, Microsoft a développé un nouveau système de fichiers - NTFS, dépourvu de tels défauts.

FAT32 est un excellent système de fichiers pour les supports externes si vous devez transférer des fichiers ne dépassant pas 4 Go. Il est pris en charge par de nombreux appareils différents tels que des appareils photo, des caméras et des lecteurs de musique. Toutes les versions des distributions Windows et Linux prennent entièrement en charge FAT32. Même Apple MacOS le prend en charge.

Qu’est-ce que le système de fichiers NTFS ?

Pour ses nouveaux systèmes, Microsoft a développé un nouveau système de fichiers - New Technology File System ou NTFS. Il est apparu en 1993, sous Windows NT 3.1. NTFS a supprimé de nombreuses restrictions sur la taille des fichiers et des disques. Son développement a commencé en 1980, à la suite de la fusion de Microsoft et IBM pour créer un nouveau système de fichiers aux performances améliorées.

Mais la coopération entre les sociétés n'a pas duré longtemps et IBM a publié HPFS, utilisé dans OS/2, et Microsoft a créé NTFS 1.0. La taille maximale d'un seul fichier en NTFS peut atteindre 16 exaoctets, ce qui signifie que même les fichiers les plus volumineux y trouveront leur place.

NTFS 3.1 a été publié pour Windows XP et a reçu de nombreuses améliorations intéressantes telles que la prise en charge de la réduction de la taille des partitions, la récupération automatique et les liens symboliques, et la taille maximale du disque du système de fichiers a été augmentée à 256 To. Ceci malgré la taille maximale du fichier de 16 EB.

D'autres fonctionnalités intéressantes ajoutées ultérieurement incluent les écritures différées sur disque, la prise en charge de la défragmentation, les paramètres de quota de disque, le suivi des liens et le cryptage au niveau des fichiers. Avec tout cela, NTFS reste compatible avec les versions précédentes.

Il s'agit désormais d'un système de fichiers journalisé ; toutes les actions avec les fichiers sont enregistrées dans un journal spécial, à l'aide duquel le système de fichiers peut être restauré très rapidement s'il est endommagé. NTFS est pris en charge sur Windows XP et versions ultérieures. Si l'on compare fat ou ntfs, ce dernier n'est pas entièrement supporté sous Linux ; l'écriture et la récupération en cas de dommage sont possibles, mais sous MacOS seule la lecture est prise en charge.

Qu’est-ce que le système de fichiers exFAT ?

Le système de fichiers exFAT est un autre projet Microsoft visant à améliorer l'ancien système de fichiers. Il peut être rayé là où FAT32 ne rentre pas. Il est beaucoup plus léger que NTFS, mais prend en charge les fichiers de plus de 4 Go et est également souvent utilisé sur les lecteurs flash et les lecteurs. Lors de son développement, Microsoft a utilisé sa technologie de recherche de noms de fichiers par hachage, ce qui améliore considérablement les performances.

La plupart des pays reconnaissent le droit américain des brevets, donc toute implémentation d'exFAT n'est possible sur aucun système fermé ou open source. Mais Microsoft souhaite que ce système de fichiers soit distribué et utilisé librement. Par conséquent, une version d’exFAT basée sur FUSE appelée fuse-exfat a été développée. Il donne un accès complet en lecture et en écriture. Une implémentation au niveau du noyau Linux a également été créée chez Samsung, qui est désormais également accessible au public.

Ce système de fichiers a également une limite maximale de taille de fichier de 16 Mo, mais il est beaucoup plus léger et ne possède aucune fonctionnalité supplémentaire. Si nous parlons de compatibilité, elle est entièrement prise en charge sur Windows, MacOS, Android et Linux.

Différences entre FAT et Ntfs

Examinons maintenant les principales différences entre FAT et NTFS sous la forme d'un bref résumé de chaque système de fichiers :

FAT32

  • Compatibilité: Windows, Mac, Linux, consoles de jeux, presque tous les appareils dotés d'un port USB ;
  • Avantages: multiplateforme, léger ;
  • Inconvénients : taille maximale du fichier 4 Go et taille de la partition 16 Go, sans journalisation ;
  • Usage: médias externes.

NTFS

  • Compatibilité: Windows, Linux, Xbox One et lecture seule sur Mac ;
  • Avantages: journalisé, limites importantes sur la taille des partitions et des fichiers, cryptage, récupération automatique ;
  • Inconvénients : multiplateforme limitée ;
  • Usage: pour installer Windows.

exFAT

  • Compatibilité: Windows XP et supérieur, MacOS X 10.6.5, Linux (fusible), Android ;
  • Avantages: grande limite sur la taille des partitions et des fichiers, léger par rapport à NTFS ;
  • Inconvénients : Microsoft limite son utilisation à un accord de licence ;
  • Usage: pour les supports externes et les disques durs externes.

conclusions

Dans cet article, nous avons fait une comparaison entre fat et ntfs. Ce sont des systèmes de fichiers très différents. Mais il est difficile de comprendre quel système de fichiers est meilleur que Fat ou NTFS : d'une part, NTFS a beaucoup plus de capacités, mais FAT est plus léger et est pris en charge autant que possible. Pour les partitions de données sous Linux qui doivent être accessibles sous Windows, il est préférable d'utiliser FAT plutôt que NTFS, car il est mieux pris en charge. Selon vous, quel est le meilleur fat ou ntfs pour Linux ?

GRAISSE(Anglais) Déposer Allocation Tableau- « table d'allocation de fichiers ») est une architecture de système de fichiers classique qui, en raison de sa simplicité, est encore largement utilisée pour les lecteurs flash. Utilisé dans les disquettes et certains autres supports de stockage. Auparavant utilisé sur les disques durs.

Le système de fichiers a été développé par Bill Gates et Mark MacDonald en 1977 et était initialement utilisé dans le système d'exploitation 86-DOS. 86-DOS a ensuite été acquis par Microsoft et est devenu la base de MS-DOS 1.0, sorti en août 1981. FAT a été conçu pour fonctionner avec des disquettes inférieures à 1 Mo et ne prenait initialement pas en charge les disques durs.

Il existe actuellement quatre versions de FAT - FAT8, FAT12, FAT16 Et FAT32. Ils diffèrent par la profondeur de bits des enregistrements dans la structure du disque, c'est-à-dire le nombre de bits alloués pour stocker le numéro de cluster. FAT12 est utilisé principalement pour les disquettes, FAT16 pour les petits disques, FAT32 pour les disques durs. Un nouveau système de fichiers a été développé basé sur FAT exFAT(Extended FAT), utilisé principalement pour les lecteurs flash.

Le système de fichiers FAT remplit l'espace disque libre de manière séquentielle du début à la fin. Lors de la création d'un nouveau fichier ou de l'augmentation d'un fichier existant, il recherche le premier cluster libre dans la table d'allocation de fichiers. Si certains fichiers ont été supprimés et que d'autres ont changé de taille, les clusters vides résultants seront dispersés sur le disque. Si les clusters contenant les données du fichier ne sont pas situés dans une rangée, alors le fichier est fragmenté. Les fichiers fortement fragmentés réduisent considérablement l'efficacité, car les têtes de lecture/écriture devront se déplacer d'une zone du disque à une autre lors de la recherche de l'enregistrement de fichier suivant. Il est conseillé que les clusters alloués au stockage du fichier soient situés les uns à côté des autres, car cela réduit le temps de recherche. Cependant, cela ne peut être fait qu'à l'aide d'un programme spécial ; cette procédure est appelée défragmentation déposer.

Un autre inconvénient de FAT est que ses performances dépendent du nombre de fichiers dans un répertoire. S'il existe un grand nombre de fichiers (environ un millier), l'opération de lecture de la liste des fichiers d'un répertoire peut prendre plusieurs minutes. FAT ne stocke pas d'informations telles que la propriété des fichiers ou les autorisations des fichiers.

FAT est un système de fichiers simple qui n'empêche pas la corruption des fichiers due à un arrêt anormal de l'ordinateur. C'est l'un des systèmes de fichiers les plus courants et il est pris en charge par la plupart des systèmes d'exploitation.

Organisation du système de fichiers gras

Tous les systèmes d'exploitation de disque modernes prévoient la création d'un système de fichiers conçu pour stocker des données sur des disques et y donner accès. Pour que les données puissent être écrites sur un disque, sa surface doit être structurée - c'est-à-dire diviser en secteurs Et des pistes.

Une piste

Cluster C

Figure 1 - Structure du disque

Chemins- ce sont des cercles concentriques recouvrant la surface du disque. La piste la plus proche du bord du disque reçoit le numéro 0, la suivante - 1, etc. Si la disquette est recto-verso, les deux faces sont numérotées. Le numéro du premier côté est 0, le numéro du second est 1.

Chaque piste est divisée en sections appelées secteurs. Les secteurs reçoivent également des numéros. Le premier secteur de la piste reçoit le numéro 1, le second le 2, etc.

Un disque dur est constitué d'un ou plusieurs plateaux ronds. Les deux surfaces de la plaque sont utilisées pour stocker des informations. Chaque surface est divisée en pistes, pistes, elles-mêmes en secteurs. Les chemins de même rayon sont cylindre. Ainsi, toutes les pistes nulles constituent le cylindre numéro zéro, les pistes numéro 1 constituent le cylindre numéro 1, etc.

Par conséquent, la surface d’un disque dur peut être considérée comme une matrice tridimensionnelle dont les dimensions sont les nombres surface, cylindre Et secteurs. Un cylindre s'entend comme un ensemble de toutes les pistes appartenant à des surfaces différentes et situées à égale distance de l'axe de rotation.

De nombreux utilisateurs sont confrontés à un manque de compréhension des bases des systèmes de fichiers Windows. Il semblerait, pourquoi une théorie inutile ? En fait, c'est la connaissance du fonctionnement profond des différents systèmes de fichiers qui permet de sélectionner correctement l'un ou l'autre système de fichiers pour un support de stockage particulier. Parfois, une erreur de choix peut devenir critique plus tard lors de la résolution du problème de récupération d'informations ou d'usure prématurée du support.

Le système de fichiers se compose d'un système de gestion de fichiers et d'un ensemble de fichiers sur un type de support spécifique (CD, DVD, FDD, HDD, Flash, etc.). Un système de gestion de fichiers permet aux utilisateurs et aux applications d'accéder aux fichiers, de les enregistrer et de maintenir l'intégrité de leur contenu. Le support de stockage à long terme le plus courant dans les systèmes informatiques modernes est le disque dur – « Winchester ». Ce terme s'applique à tout disque scellé doté de têtes de lecture magnétiques de conception aérodynamique.

Les systèmes de fichiers des systèmes d'exploitation modernes sont installés sur les partitions du disque dur.

FAT 32. Simplicité et fiabilité.

Il existe trois systèmes de fichiers FAT : FAT12 (pour les disquettes FDD), FAT16, FAT32. Ils diffèrent par le nombre de bits (12, 16, 32) pour indiquer le numéro de cluster dans le système de gestion de fichiers. Dans les systèmes de fichiers FAT, l'espace disque logique de tout lecteur logique est divisé en une zone système et une zone de données. BR – Enregistrement de démarrage ; RS – secteurs réservés ; FAT1, FAT2 – tables d'allocation de fichiers 1 et 2 ; RDir (répertoire racine, ROOT) – répertoire racine. La zone de données est divisée en clusters, qui représentent 1 ou plusieurs secteurs adjacents. Dans une table FAT, les clusters appartenant au même fichier sont liés en chaîne. La carte de la zone de données est en fait la File Allocation Table (FAT) Chaque élément de la table FAT (12, 16 ou 32 bits) correspond à un cluster de disques et caractérise son état : libre, occupé ou en mauvais état. grappe. . Pour indiquer le numéro de cluster dans le système de gestion de fichiers FAT16, un mot de 16 bits est utilisé et 65 536 clusters peuvent être adressés.

Un cluster est une unité de mémoire disque minimalement adressable allouée à un fichier. Un fichier ou un répertoire occupe un nombre entier de clusters. Diviser la zone de données en clusters au lieu d'utiliser des secteurs permet de : réduire la taille de la table FAT, réduire la fragmentation des fichiers, réduire la longueur des chaînes de fichiers, accélérer l'accès aux fichiers. Le dernier cluster risque de ne pas être entièrement utilisé, ce qui entraînera une perte notable d'espace disque si la taille du cluster est grande. Sur une disquette, le cluster occupe 1 ou 2 secteurs. Le disque dur comporte 4, 8, 16, 32, 64 secteurs dans un cluster. Chaque élément a la structure suivante : nom de fichier, attribut de fichier, champ de réserve, heure de création, date de création, date de dernier accès, réserve, date de dernière modification, heure de dernière modification, numéro de cluster initial Fat, taille du fichier.

Dans cet exemple, un fichier nommé MyFile.txt est placé à partir du 8ème cluster et occupe 12 clusters. La chaîne de clusters pour ce cas : 8,9,A,B,15,16,17,19,1A,1B,1C,1D. Le cluster numéro 18 est marqué du code F7 comme étant mauvais. Il ne peut pas être utilisé pour héberger des données. Ce code est défini par les utilitaires de formatage et de vérification du disque. Le cluster 1D est marqué du code FF comme dernier appartenant à ce fichier. Les clusters libres sont marqués du code 0. Lorsqu'un nouveau cluster est alloué, le premier cluster libre est utilisé pour l'écriture dans un fichier. À mesure que les fichiers sur le disque sont modifiés, supprimés, déplacés, agrandis et réduits, cette règle de placement conduit à la fragmentation, c'est-à-dire les données d'un fichier ne sont pas situées dans des clusters adjacents, mais parfois très éloignés les uns des autres. Une chaîne complexe se forme. Cela conduit à un travail plus lent avec les fichiers. Étant donné que Fat est utilisé de manière très intensive lors de l'accès au disque, il est chargé dans la RAM. Le système Fat32 est beaucoup plus efficace dans l'utilisation de l'espace disque car il utilise des clusters plus petits que les versions précédentes de Fat. Par rapport au Fat16, cela donne une économie de 10 à 16 %.

Le champ attributaire d'un élément de répertoire peut stocker les valeurs suivantes :

1) archive (installée lorsqu'un fichier est modifié et supprimé par un programme qui sauvegarde les fichiers sur un autre support) ;

2) répertoire ;

3) étiquette de volume ;

4) systémique ;

5) caché ;

6) en lecture seule.

Les noms longs dans FAT32 sont fournis en utilisant plusieurs entrées de répertoire : pour un fichier (une entrée est une entrée pour le nom 8.3 et 24 entrées pour le nom le plus long, qui peut contenir jusqu'à 256 caractères. Par conséquent, les noms longs ne sont pas recommandés. .

Le principal inconvénient de FAT est la lenteur du traitement des fichiers. Lors de la création d'un fichier, la règle est que le premier cluster libre est alloué. Cela conduit à une fragmentation du disque et à des chaînes de fichiers complexes. Cela entraîne un travail plus lent avec les fichiers.

Fondamentalement, le système de fichiers FAT est quelque chose à éviter aujourd'hui. Par conséquent, il est essentiel d’en choisir un approprié qui vous permettra d’éviter ce système de fichiers.

NTFS : commodité et vitesse élevée.

L'un des principaux concepts utilisés lorsque l'on travaille avec NTFS est le concept de volume. Il est possible de créer un volume tolérant aux pannes occupant plusieurs partitions, c'est-à-dire d'utiliser la technologie RAID. NTFS divise tout l'espace disque utilisable sur un volume en clusters, c'est-à-dire des blocs de données adressés en tant qu'unités de données. NTFS prend en charge des tailles de cluster allant de 512 octets à 64 Ko ; 2 ou 4 Ko de disque sont alloués à la zone MFT - espace qui peut être occupé par le métafichier du service principal MFT, augmentant en taille. Il n'est pas possible d'écrire des données dans cette zone. La zone MFT est vide afin que le fichier de service (MFT) ne se fragmente pas à mesure qu'il grandit.

MFT (common file table) est un répertoire centralisé de tous les autres fichiers du disque, y compris lui-même. MFT est divisé en enregistrements de taille fixe de 1 Ko, chaque enregistrement correspondant à un fichier. Les 16 premiers fichiers sont de nature service et sont inaccessibles au système d'exploitation - ils sont appelés métafichiers, le tout premier métafichier étant le MFT lui-même. Ces 16 premiers éléments MFT sont la seule partie du disque qui a une position strictement fixe. Une copie de ces mêmes 16 entrées est conservée au milieu du volume par sécurité car elles sont très importantes. Les parties restantes du fichier MFT peuvent être situées à des endroits arbitraires sur le disque - vous pouvez restaurer sa position en utilisant le fichier lui-même, en « attrapant » la base même - sur le premier élément MFT. Chaque fichier en NTFS est représenté à l'aide de flux ; il ne contient pas de données, mais plutôt des « flux ». L'un des flux est constitué de données de fichiers. Vous pouvez définir plusieurs flux de données pour un fichier.

Principales fonctionnalités de NTFS :

Le travail sur de gros disques s'effectue efficacement (beaucoup plus efficacement qu'en FAT) ;

Il existe des outils pour restreindre l'accès aux fichiers et répertoires ;

Les partitions NTFS assurent la sécurité locale pour les fichiers et les répertoires ;

Un mécanisme de transaction a été introduit, dans lequel les opérations sur les fichiers sont enregistrées ;

Augmentation significative de la fiabilité ;

De nombreuses restrictions sur le nombre maximum de secteurs de disque et/ou de clusters ont été supprimées ;

Un nom de fichier en NTFS, contrairement aux systèmes de fichiers FAT et HPFS, peut contenir n'importe quel caractère, y compris l'ensemble complet des alphabets nationaux, puisque les données sont représentées en Unicode - une représentation 16 bits qui donne 65 535 caractères différents. La longueur maximale d'un nom de fichier en NTFS est de 255 caractères.

NTFS dispose également de capacités de compression intégrées que vous pouvez appliquer à des fichiers individuels, à des répertoires entiers et même à des volumes (puis les annuler ou les réaffecter comme bon vous semble). Un répertoire en NTFS est un fichier spécial qui stocke des liens vers d'autres fichiers et répertoires.

NTFS offre une sécurité au niveau des fichiers ; cela signifie que les droits d'accès aux volumes, répertoires et fichiers peuvent dépendre du compte utilisateur et des groupes auxquels l'utilisateur appartient. Chaque fois qu'un utilisateur accède à un objet du système de fichiers, ses droits d'accès sont vérifiés par rapport à la liste d'autorisations de cet objet. Si l'utilisateur dispose des droits suffisants, sa demande est accordée ; sinon la demande est rejetée. Ce modèle de sécurité s'applique à la fois à l'enregistrement des utilisateurs locaux sur les ordinateurs NT et aux requêtes réseau distantes.

Le système NTFS possède également certaines capacités d'auto-réparation. NTFS prend en charge divers mécanismes de vérification de l'intégrité du système, notamment la journalisation des transactions, qui permet de relire les opérations d'écriture de fichiers dans un journal système spécial.

Le principal inconvénient du système de fichiers NTFS est que les données de service occupent beaucoup d'espace (par exemple, chaque élément de répertoire occupe 2 Ko) - pour les petites partitions, les données de service peuvent occuper jusqu'à 25 % du volume du support.

Ainsi, lorsque nous choisissons un type de système de fichiers, nous ne choisissons pas une action abstraite, nous prenons un ensemble de décisions qui affectent l'ensemble du système dans son ensemble. Pourquoi connaître tous les tenants et aboutissants du système de fichiers avec autant de détails ? Ceci est nécessaire à son éventuelle restauration, dont nous parlerons dans l'un des articles suivants =)

Matériel pour la conférence de révision n°33

pour les étudiants de spécialité

"Logiciel informatique"

Professeur agrégé du Département d'informatique, Ph.D. Livak E.N.

SYSTÈMES DE GESTION DE FICHIERS

Concepts de base, faits

But. Caractéristiques des systèmes de fichiersGRAISSEVFATGRAISSE 32,HPFSNTFS. Systèmes de fichiers OS UNIX (s5, ufs), OS Linux Ext2FS Zones système du disque (partition, volume). Principes de placement de fichiers et de stockage des informations sur l'emplacement des fichiers. Organisation de catalogues. Restreindre l'accès aux fichiers et répertoires.

Compétences

Utiliser la connaissance de la structure du système de fichiers pour protéger et restaurer les informations informatiques (fichiers et répertoires). Organisation du contrôle d'accès aux fichiers.

Systèmes de fichiers. Structure du système de fichiers

Les données sur disque sont stockées sous forme de fichiers. Un fichier est une partie nommée d'un disque.

Les systèmes de gestion de fichiers sont conçus pour gérer des fichiers.

La capacité de traiter les données stockées dans des fichiers au niveau logique est fournie par le système de fichiers. C'est le système de fichiers qui détermine la manière dont les données sont organisées sur n'importe quel support de stockage.

Ainsi, système de fichiers est un ensemble de spécifications et leurs logiciels correspondants qui sont responsables de la création, de la destruction, de l'organisation, de la lecture, de l'écriture, de la modification et du déplacement des informations sur les fichiers, ainsi que du contrôle de l'accès aux fichiers et de la gestion des ressources utilisées par les fichiers.

Le système de gestion de fichiers est le sous-système principal de la grande majorité des systèmes d'exploitation modernes.

Utiliser un système de gestion de fichiers

· tous les programmes de traitement du système sont connectés à l'aide de données ;

· les problèmes de distribution centralisée de l'espace disque et de gestion des données sont résolus ;

· l'utilisateur a la possibilité d'effectuer des opérations sur les fichiers (création, etc.), d'échanger des données entre des fichiers et divers appareils et de protéger les fichiers contre tout accès non autorisé.

Certains systèmes d'exploitation peuvent disposer de plusieurs systèmes de gestion de fichiers, ce qui leur permet de gérer plusieurs systèmes de fichiers.

Essayons de faire la distinction entre un système de fichiers et un système de gestion de fichiers.

Le terme « système de fichiers » définit les principes d'accès aux données organisées en fichiers.

Terme "système de gestion de fichiers" fait référence à une implémentation spécifique du système de fichiers, c'est-à-dire Il s'agit d'un ensemble de modules logiciels qui permettent de travailler avec des fichiers dans un système d'exploitation spécifique.

Ainsi, pour travailler avec des fichiers organisés selon un système de fichiers, un système de gestion de fichiers approprié doit être développé pour chaque système d'exploitation. Ce système UV ne fonctionnera que sur le système d'exploitation pour lequel il est conçu.

Pour la famille des OS Windows, les systèmes de fichiers principalement utilisés sont : VFAT, FAT 32, NTFS.

Examinons la structure de ces systèmes de fichiers.

Sur le système de fichiers GRAISSE L'espace disque de tout lecteur logique est divisé en deux zones :

zone système et

· zone de données.

Zone système créé et initialisé lors du formatage, puis mis à jour lorsque la structure du fichier est manipulée.

La zone système se compose des composants suivants :

· secteur de démarrage contenant l'enregistrement de démarrage (enregistrement de démarrage) ;

· secteurs réservés (ils peuvent ne pas exister) ;

· tables d'allocation de fichiers (FAT, table d'allocation de fichiers) ;

· répertoire racine (RACINE).

Ces composants sont situés sur le disque les uns après les autres.

Zone de données contient des fichiers et des répertoires subordonnés à celui racine.

La zone de données est divisée en clusters. Un cluster est un ou plusieurs secteurs adjacents d’une zone de données. D'autre part, un cluster est l'unité adressable minimale de mémoire disque allouée à un fichier. Ceux. un fichier ou un répertoire occupe un nombre entier de clusters. Pour créer et écrire un nouveau fichier sur le disque, le système d'exploitation lui alloue plusieurs clusters de disques libres. Ces clusters ne sont pas obligés de se succéder. Pour chaque fichier, une liste de tous les numéros de cluster attribués à ce fichier est stockée.

Diviser la zone de données en clusters au lieu d'utiliser des secteurs vous permet de :

· réduire la taille de la table FAT ;

· réduire la fragmentation des fichiers ;

· la longueur des chaînes de fichiers est réduite Þ accélère l'accès aux fichiers.

Cependant, une taille de cluster trop grande conduit à une utilisation inefficace de la zone de données, en particulier dans le cas d'un grand nombre de petits fichiers (après tout, en moyenne, la moitié d'un cluster est perdu pour chaque fichier).

Dans les systèmes de fichiers modernes (FAT 32, HPFS, NTFS), ce problème est résolu en limitant la taille du cluster (maximum 4 Ko)

La carte de la zone de données est T Table d'allocation des fichiers (File Allocation Table - FAT) Chaque élément de la table FAT (12, 16 ou 32 bits) correspond à un cluster de disques et caractérise son état : libre, occupé ou cluster défectueux.

· Si un cluster est alloué à un fichier (c'est-à-dire occupé), alors l'élément FAT correspondant contient le numéro du cluster suivant du fichier ;

· le dernier cluster du fichier est marqué d'un numéro compris dans la plage FF8h - FFFh (FFF8h - FFFFh) ;

· si le cluster est libre, il contient la valeur nulle 000h (0000h) ;

· un cluster inutilisable (en échec) est marqué du numéro FF7h (FFF7h).

Ainsi, dans la table FAT, les clusters appartenant à un même fichier sont liés en chaînes.

La table d'allocation de fichiers est stockée immédiatement après l'enregistrement de démarrage du disque logique ; son emplacement exact est décrit dans un champ spécial du secteur de démarrage.

Il est conservé en deux exemplaires identiques, qui se succèdent. Si la première copie du tableau est détruite, la seconde est utilisée.

Étant donné que la FAT est utilisée de manière très intensive lors de l'accès au disque, elle est généralement chargée dans la RAM (dans les tampons d'E/S ou dans le cache) et y reste le plus longtemps possible.

Le principal inconvénient de FAT est la lenteur du traitement des fichiers. Lors de la création d'un fichier, la règle est que le premier cluster libre est alloué. Cela conduit à une fragmentation du disque et à des chaînes de fichiers complexes. Cela entraîne un travail plus lent avec les fichiers.

Pour afficher et modifier la table FAT, vous pouvez utiliser utilitaireDisqueÉditeur.

Les informations détaillées sur le fichier lui-même sont stockées dans une autre structure appelée répertoire racine. Chaque lecteur logique possède son propre répertoire racine (ROOT).

Répertoire racine décrit les fichiers et autres répertoires. Un élément de répertoire est un descripteur de fichier.

Chaque descripteur de fichier et de répertoire l'inclut

· Nom

· extension

date de création ou de dernière modification

· heure de création ou de dernière modification

attributs (archive, attribut de répertoire, attribut de volume, système, masqué, lecture seule)

· longueur du fichier (pour un répertoire - 0)

· champ réservé qui n'est pas utilisé

· numéro du premier cluster de la chaîne de clusters alloués à un fichier ou un répertoire ; Ayant reçu ce numéro, le système d'exploitation, en se référant à la table FAT, découvre tous les autres numéros de cluster du fichier.

Ainsi, l'utilisateur lance le fichier pour exécution. Le système d'exploitation recherche un fichier portant le nom souhaité en consultant les descriptions des fichiers dans le répertoire actuel. Lorsque l'élément requis est trouvé dans le répertoire courant, le système d'exploitation lit le premier numéro de cluster de ce fichier, puis utilise la table FAT pour déterminer les numéros de cluster restants. Les données de ces clusters sont lues dans la RAM, combinées en une seule section continue. Le système d'exploitation transfère le contrôle au fichier et le programme commence à s'exécuter.

Pour afficher et modifier le répertoire racine ROOT, vous pouvez également utiliser utilitaireDisqueÉditeur.

Système de fichiers VFAT

Le système de fichiers VFAT (virtual FAT) est apparu pour la première fois dans Windows pour Workgroups 3.11 et a été conçu pour les E/S de fichiers en mode protégé.

Ce système de fichiers est utilisé sous Windows 95.

Il est également pris en charge sous Windows NT 4.

VFAT est le système de fichiers natif 32 bits de Windows 95. Il est contrôlé par le pilote VFAT .VXD.

VFAT utilise du code 32 bits pour toutes les opérations sur les fichiers et peut utiliser des pilotes en mode protégé 32 bits.

MAIS, les entrées de la table d'allocation de fichiers restent sur 12 ou 16 bits, le disque utilise donc la même structure de données (FAT). Ceux. F format de tableauVFAT c'est pareil, comme le format FAT.

VFAT avec les noms "8.3" prend en charge les noms de fichiers longs. (VFAT est souvent appelé FAT avec prise en charge des noms longs).

Le principal inconvénient de VFAT réside dans les pertes de clustering importantes avec de grandes tailles de disque logique et des restrictions sur la taille du disque logique lui-même.

Système de fichiers GRAISSE 32

Il s'agit d'une nouvelle implémentation de l'idée d'utiliser la table FAT.

FAT 32 est un système de fichiers 32 bits entièrement autonome.

Utilisé pour la première fois dans Windows OSR 2 (OEM Service Release 2).

Actuellement, FAT 32 est utilisé dans Windows 98 et Windows ME.

Il contient de nombreuses améliorations et ajouts par rapport aux implémentations FAT précédentes.

1. Utilise l'espace disque beaucoup plus efficacement car il utilise des clusters plus petits (4 Ko) - on estime que les économies peuvent atteindre 15 %.

2. Possède un enregistrement de démarrage étendu qui vous permet de créer des copies de structures de données critiques Þ augmente la résistance du disque aux dommages causés aux structures du disque

3. Peut utiliser la sauvegarde FAT au lieu de la sauvegarde standard.

4. Peut déplacer le répertoire racine, en d'autres termes, le répertoire racine peut se trouver à n'importe quel endroit Þ supprime la limitation sur la taille du répertoire racine (512 éléments, puisque ROOT était censé occuper un cluster).

5. Structure du répertoire racine améliorée

Des champs supplémentaires sont apparus, par exemple, heure de création, date de création, date du dernier accès, somme de contrôle

Il existe encore plusieurs handles pour un nom de fichier long.

Système de fichiers HPFS

HPFS (High Performance File System) est un système de fichiers hautes performances.

HPFS est apparu pour la première fois dans OS/2 1.2 et LAN Manager.

Faisons la liste principales fonctionnalités de HPFS.

· La principale différence réside dans les principes de base du placement des fichiers sur le disque et les principes de stockage des informations sur l'emplacement des fichiers. Grâce à ces principes, HPFS a hautes performances et tolérance aux pannes, est fiable système de fichiers.

· L'espace disque dans HPFS n'est pas alloué en clusters (comme dans FAT), mais blocs. Dans la mise en œuvre moderne, la taille du bloc est considérée comme égale à un secteur, mais en principe elle pourrait être d'une taille différente. (En fait, un bloc est un cluster, seul un cluster est toujours égal à un secteur). Placer les fichiers dans de si petits blocs permet utiliser l'espace disque plus efficacement, puisque la surcharge d'espace libre n'est en moyenne que (un demi-secteur) de 256 octets par fichier. N'oubliez pas que plus la taille du cluster est grande, plus l'espace disque est gaspillé.

· Le système HPFS s'efforce d'organiser le fichier en blocs contigus ou, si cela n'est pas possible, de le placer sur le disque de manière à ce que étendues(fragments) du fichier étaient physiquement aussi proches que possible les uns des autres. Cette approche est essentielle réduit le temps de positionnement de la tête d'écriture/lecture disque dur et temps d'attente (délai entre l'installation de la tête de lecture/écriture sur la piste souhaitée). Rappelons que dans un fichier FAT le premier cluster libre est simplement alloué.

Étendues(étendue) - fragments de fichiers situés dans des secteurs adjacents du disque. Un fichier possède au moins une extension s’il n’est pas fragmenté, et plusieurs extensions dans le cas contraire.

·Utilisé méthode arbres binaires équilibrés pour stocker et rechercher des informations sur l'emplacement des fichiers (les répertoires sont stockés au centre du disque, de plus, un tri automatique des répertoires est fourni), ce qui est essentiel augmente la productivité HPFS (contre FAT).

· HPFS fournit des attributs de fichiers étendus spéciaux qui permettent contrôler l'accès aux fichiers et aux répertoires.

Attributs étendus (attributs étendus, EA ) vous permettent de stocker des informations supplémentaires sur le fichier. Par exemple, chaque fichier peut être associé à son graphique unique (icône), sa description de fichier, son commentaire, ses informations sur le propriétaire du fichier, etc.

Structure des partitions HPFS


Au début de la partition sur laquelle HPFS est installé, il y a trois contrôles de bloc :

bloc de démarrage

· bloc supplémentaire (super bloc) et

· bloc de rechange (sauvegarde) (bloc de rechange).

Ils occupent 18 secteurs.

Tout l'espace disque restant dans HPFS est divisé en parties provenant de secteurs adjacents - rayures(bande - bande, ruban adhésif). Chaque bande occupe 8 Mo d'espace disque.

Chaque bande a son propre bitmap d'allocation de secteur.Le bitmap montre quels secteurs d'une bande donnée sont occupés et lesquels sont libres. Chaque secteur d'une bande de données correspond à un bit de son bitmap. Si bit = 1, alors le secteur est occupé, si 0, alors il est libre.

Les bitmaps des deux voies sont situés côte à côte sur le disque, tout comme les voies elles-mêmes. Autrement dit, la séquence de bandes et de cartes ressemble à celle de la Fig.

Comparer avecGRAISSE. Il n'existe qu'un seul « bit map » pour l'ensemble du disque (table FAT). Et pour travailler avec, il faut déplacer les têtes de lecture/écriture sur la moitié du disque en moyenne.

C'est afin de réduire le temps de positionnement des têtes de lecture/écriture d'un disque dur que dans HPFS le disque est divisé en stripes.

Considérons blocs de contrôle.

Bloc de démarrage (bottebloc)

Contient le nom du volume, son numéro de série, le bloc de paramètres du BIOS et le programme de démarrage.

Le programme d'amorçage trouve le fichier OS 2 LDR , le lit en mémoire et transfère le contrôle à ce programme de démarrage du système d'exploitation, qui, à son tour, charge le noyau OS/2 du disque vers la mémoire - OS 2 KRNL. Et déjà OS 2 KRIML utiliser les informations du fichier CONFIG. SYSTÈME charge tous les autres modules de programme et blocs de données nécessaires en mémoire.

Le bloc de démarrage est situé dans les secteurs 0 à 15.

SuperBloc(super bloc)

Contient

· pointeur vers une liste de bitmaps (liste de blocs bitmap). Cette liste répertorie tous les blocs du disque contenant les bitmaps utilisés pour détecter les secteurs libres ;

· pointeur vers la liste des blocs défectueux (bad block list). Lorsque le système détecte un bloc endommagé, celui-ci est ajouté à cette liste et n'est plus utilisé pour stocker des informations ;

· pointeur vers la bande de répertoire

· pointeur vers le nœud de fichier (nœud F) du répertoire racine,

· date du dernier scan de la partition par CHKDSK ;

· informations sur la taille de bande (dans la mise en œuvre actuelle de HPFS - 8 Mo).

Le super bloc est situé dans le secteur 16.

De rechangebloc(bloc de rechange)

Contient

· pointeur vers la carte de remplacement d'urgence (carte des correctifs ou zones de correctifs) ;

· pointeur vers la liste des blocs de rechange libres (liste des blocs libres d'urgence du répertoire) ;

· un certain nombre d'indicateurs et de descripteurs système.

Ce bloc est situé dans le secteur 17 du disque.

Le bloc de sauvegarde offre une tolérance élevée aux pannes au système de fichiers HPFS et vous permet de récupérer les données endommagées sur le disque.

Principe de placement de fichiers

Étendues(étendue) - fragments de fichiers situés dans des secteurs adjacents du disque. Un fichier possède au moins une extension s’il n’est pas fragmenté, et plusieurs extensions dans le cas contraire.

Pour réduire le temps de positionnement des têtes de lecture/écriture d'un disque dur, le système HPFS s'efforce de

1) placez le fichier dans des blocs adjacents ;

2) si cela n'est pas possible, placez les extensions du fichier fragmenté aussi près que possible les unes des autres,

Pour ce faire, HPFS utilise des statistiques et essaie également de réserver conditionnellement au moins 4 kilo-octets d'espace à la fin des fichiers en croissance.

Principes de stockage des informations sur l'emplacement des fichiers

Chaque fichier et répertoire sur le disque a son propre nœud de fichier F-Node. Il s'agit d'une structure qui contient des informations sur l'emplacement d'un fichier et ses attributs étendus.

Chaque nœud F occupe un secteur et est toujours situé à proximité de son fichier ou répertoire (généralement juste avant le fichier ou le répertoire). L'objet F-Node contient

· longueur,

· 15 premiers caractères du nom du fichier,

· informations de service spéciales,

· statistiques sur l'accès aux fichiers,

· attributs de fichier étendus,

· une liste de droits d'accès (ou seulement une partie de cette liste, si elle est très longue) ; Si les attributs étendus sont trop grands pour le nœud de fichier, un pointeur vers eux y est écrit.

· informations associatives sur la localisation et la subordination du dossier, etc.

Si le fichier est contigu, son emplacement sur le disque est décrit par deux nombres de 32 bits. Le premier nombre est un pointeur vers le premier bloc du fichier et le second est la longueur de l'étendue (le nombre de blocs consécutifs appartenant au fichier).

Si un fichier est fragmenté, l'emplacement de ses extensions est décrit dans le nœud du fichier par des paires supplémentaires de nombres de 32 bits.

Un nœud de fichier peut contenir des informations sur jusqu'à huit extensions d'un fichier. Si un fichier a plus d'extensions, un pointeur vers un bloc d'allocation est écrit sur son nœud de fichier, qui peut contenir jusqu'à 40 pointeurs vers des extensions ou, comme pour un bloc d'arborescence de répertoires, vers d'autres blocs d'allocation.

Structure et emplacement du répertoire

Utilisé pour stocker des répertoires bande située au centre du disque.

Cette bande s'appelle annuairegroupe.

S'il est complètement plein, HPFS commence à placer les répertoires de fichiers dans d'autres bandes.

Placer cette structure d'information au milieu du disque réduit considérablement le temps moyen de positionnement de la tête de lecture/écriture.

Cependant, une contribution nettement plus importante aux performances HPFS (par rapport au placement de la bande de répertoire au milieu d'un disque logique) est apportée en utilisant méthode arbres binaires équilibrés pour stocker et récupérer des informations sur l'emplacement des fichiers.

Rappelez-vous que dans le système de fichiers GRAISSE le répertoire a une structure linéaire, non ordonnée d'une manière particulière, donc lors de la recherche d'un fichier, vous devez le parcourir séquentiellement dès le début.

Dans HPFS, la structure des répertoires est un arbre équilibré avec des entrées classées par ordre alphabétique.

Chaque entrée incluse dans l'arborescence contient

· attributs du fichier,

· pointeur vers le nœud du fichier correspondant,

des informations sur l'heure et la date de création du fichier, l'heure et la date de la dernière mise à jour et accès,

longueur des données contenant des attributs étendus,

· compteur d'accès aux fichiers,

longueur du nom de fichier

· le nom lui-même,

· et d'autres informations.

Le système de fichiers HPFS examine uniquement les branches nécessaires de l'arborescence binaire lors de la recherche d'un fichier dans un répertoire. Cette méthode est bien plus efficace que la lecture séquentielle de toutes les entrées d’un répertoire, ce qui est le cas du système FAT.

La taille de chaque bloc en termes de répertoires alloués dans l'implémentation actuelle de HPFS est de 2 Ko. La taille de l'entrée décrivant le fichier dépend de la taille du nom du fichier. Si un nom fait 13 octets (pour le format 8.3), alors un bloc de 2 Ko peut contenir jusqu'à 40 descripteurs de fichiers. Les blocs sont connectés les uns aux autres via une liste.

Problèmes

Lorsque vous renommez des fichiers, un rééquilibrage de l'arborescence peut se produire. Créer un fichier, le renommer ou l'effacer peut entraîner blocs de répertoire en cascade. En fait, un changement de nom peut échouer en raison d'un manque d'espace disque, même si la taille du fichier lui-même n'a pas augmenté. Pour éviter ce désastre, HPFS maintient un petit pool de blocs gratuits pouvant être utilisés en cas de sinistre. Cette opération peut nécessiter l'allocation de blocs supplémentaires sur un disque plein. Un pointeur vers ce pool de blocs libres est stocké dans SpareBlock.

Principes de placement de fichiers et de répertoires sur le disque dansHPFS:

· les informations sur l'emplacement des fichiers sont dispersées sur tout le disque, avec des enregistrements pour chaque fichier spécifique situés (si possible) dans des secteurs adjacents et proches des données sur leur emplacement ;

· les répertoires sont situés au milieu de l'espace disque ;

· Les répertoires sont stockés sous forme d'arbre binaire équilibré avec des entrées classées par ordre alphabétique.

Fiabilité du stockage des données dans HPFS

Tout système de fichiers doit disposer d'un moyen de corriger les erreurs qui se produisent lors de l'écriture d'informations sur le disque. Le système HPFS utilise pour cela mécanisme de remplacement d'urgence ( correctif).

Si le système de fichiers HPFS rencontre un problème lors de l'écriture des données sur le disque, il affiche un message d'erreur. HPFS stocke alors les informations qui auraient dû être écrites sur le secteur défectueux dans un des secteurs libres réservés à l'avance pour cette éventualité. La liste des blocs de rechange libres est stockée dans le bloc de rechange HPFS. Si une erreur est détectée lors de l'écriture de données dans un bloc normal, HPFS sélectionne l'un des blocs de rechange libres et y stocke les données. Le système de fichiers se met ensuite à jour carte de remplacement d'urgence dans l'unité de réserve.

Cette carte est simplement constituée de paires de mots doubles, chacun étant un numéro de secteur de 32 bits.

Le premier chiffre indique le secteur défectueux, et le second indique le secteur parmi les secteurs de rechange disponibles qui a été sélectionné pour le remplacer.

Après avoir remplacé le secteur défectueux par un secteur de rechange, la carte de remplacement d'urgence est écrite sur le disque et une fenêtre contextuelle apparaît à l'écran informant l'utilisateur qu'une erreur d'écriture sur le disque s'est produite. Chaque fois que le système écrit ou lit un secteur de disque, il examine la carte de récupération et remplace tous les numéros de secteur défectueux par des numéros de secteur de rechange avec les données correspondantes.

Il convient de noter que cette traduction de numéros n'affecte pas de manière significative les performances du système, puisqu'elle est effectuée uniquement lors de l'accès physique au disque, et non lors de la lecture des données du cache disque.

Système de fichiers NTFS

Le système de fichiers NTFS (New Technology File System) contient un certain nombre d'améliorations et de modifications significatives qui le distinguent considérablement des autres systèmes de fichiers.

A noter qu'à de rares exceptions près, avec Les partitions NTFS ne peuvent être utilisées que directement depuisles fenêtresNT. bien qu'il existe des implémentations correspondantes de systèmes de gestion de fichiers pour lire des fichiers à partir de volumes NTFS pour un certain nombre de systèmes d'exploitation.

Cependant, il n'existe pas d'implémentation complète permettant de travailler avec NTFS en dehors de Windows NT.

NTFS n'est pas pris en charge sur les systèmes d'exploitation largement utilisés Windows 98 et Windows Millennium Edition.

Principales caractéristiquesNTFS

· le travail sur de grands disques s'effectue efficacement (beaucoup plus efficacement qu'en FAT) ;

· il existe des outils pour restreindre l'accès aux fichiers et répertoires Þ Les partitions NTFS assurent la sécurité locale pour les fichiers et les répertoires ;

· un mécanisme de transaction a été introduit dans lequel enregistrement opérations sur les fichiers Þ augmentation significative de la fiabilité;

· De nombreuses restrictions sur le nombre maximum de secteurs de disque et/ou de clusters ont été supprimées ;

· un nom de fichier en NTFS, contrairement aux systèmes de fichiers FAT et HPFS, peut contenir n'importe quel caractère, y compris l'ensemble complet des alphabets nationaux, puisque les données sont représentées en Unicode - une représentation 16 bits qui donne 65 535 caractères différents. La longueur maximale d'un nom de fichier en NTFS est de 255 caractères.

· NTFS dispose également de capacités de compression intégrées que vous pouvez appliquer à des fichiers individuels, à des répertoires entiers et même à des volumes (et ensuite les annuler ou les attribuer à votre guise).

Structure des volumes avec le système de fichiers NTFS

Une partition NTFS est appelée un volume (volume). La taille maximale possible du volume (et de la taille du fichier) est de 16 Mo (exaoctet 2**64).

Comme d'autres systèmes, NTFS divise l'espace disque d'un volume en clusters, c'est-à-dire des blocs de données traités comme des unités de données. NTFS prend en charge des tailles de cluster allant de 512 octets à 64 Ko ; le standard est un cluster de 2 ou 4 Ko.

Tout l'espace disque dans NTFS est divisé en deux parties inégales.


Les premiers 12 % du disque sont alloués à la zone dite MFT - espace qui peut être occupé par le service principal métafichier MFT.

Il n'est pas possible d'écrire des données dans cette zone. La zone MFT reste toujours vide - ceci est fait pour que le fichier MFT, si possible, ne se fragmente pas à mesure qu'il grandit.

Les 88 % restants du volume sont constitués d’espace de stockage de fichiers standard.

MFT (maîtredéposertableau - table de fichiers générale) est essentiellement un répertoire de tous les autres fichiers du disque, y compris lui-même. Il est conçu pour déterminer l'emplacement des fichiers.

MFT se compose d’enregistrements de taille fixe. La taille de l'enregistrement MFT (minimum 1 Ko et maximum 4 Ko) est déterminée lors du formatage du volume.

Chaque entrée correspond à un fichier.

Les 16 premières entrées sont de nature service et ne sont pas disponibles pour le système d'exploitation - elles sont appelées métafichiers, et le tout premier métafichier est le MFT lui-même.

Ces 16 premiers éléments MFT sont la seule partie du disque qui a une position strictement fixe. Une copie de ces mêmes 16 entrées est conservée au milieu du volume par souci de fiabilité.

Les parties restantes du fichier MFT peuvent être situées, comme tout autre fichier, à des emplacements arbitraires sur le disque.

Les métafichiers sont de nature de service - chacun d'eux est responsable d'un certain aspect du fonctionnement du système. Les métafichiers se trouvent dans le répertoire racine du volume NTFS. Ils commencent tous par le symbole « $ », bien qu'il soit difficile d'obtenir des informations à leur sujet par des moyens standard. Dans le tableau Les principaux métafichiers et leur objectif sont donnés.

Nom du métafichier

Objectif du métafichier

$MFT

Table de fichiers maître elle-même

$MFTmirr

Une copie des 16 premières entrées MFT placées au milieu du volume

$FichierJournal

Fichier de support de journalisation

$Volume

Informations sur le service : nom du volume, version du système de fichiers, etc.

$AttrDef

Liste des attributs de fichiers standards sur le volume

Répertoire racine

$Bitmap

Carte de l'espace libre en volume

$Boot

Secteur de démarrage (si la partition est bootable)

Quota $

Un fichier qui enregistre les droits des utilisateurs pour utiliser l'espace disque (ce fichier n'a commencé à fonctionner que dans Windows 2000 avec NTFS 5.0)

$Upcase

Fichier - un tableau de correspondance entre les lettres majuscules et minuscules dans les noms de fichiers. En NTFS, les noms de fichiers sont écrits en Unicode (ce qui équivaut à 65 000 symboles différents) et rechercher des équivalents grands et petits dans ce cas est une tâche non triviale

L'enregistrement MFT correspondant stocke toutes les informations sur le fichier :

· nom de fichier,

· taille;

· attributs de fichier ;

· position sur le disque de fragments individuels, etc.

Si un enregistrement MFT ne suffit pas pour l'information, alors plusieurs enregistrements sont utilisés, et pas nécessairement consécutifs.

Si le fichier n'est pas très volumineux, les données du fichier sont stockées directement dans le MFT, dans l'espace restant des données principales au sein d'un enregistrement MFT.

Un fichier sur un volume NTFS est identifié par ce qu'on appelle lien de fichier(File Reference), qui est représenté par un nombre de 64 bits.

· numéro de dossier qui correspond au numéro d'enregistrement dans MFT,

· et les numéros de séquence. Ce numéro est incrémenté chaque fois qu'un numéro donné dans la MFT est réutilisé, permettant au système de fichiers NTFS d'effectuer des contrôles d'intégrité internes.

Chaque fichier en NTFS est représenté par ruisseaux(flux), c'est-à-dire qu'il n'a pas « seulement des données » en tant que telles, mais il existe des flux.

L'un des flux est constitué par les données du fichier.

La plupart des attributs de fichiers sont également des flux.

Ainsi, il s'avère que le fichier n'a qu'une seule entité de base - le numéro dans le MFT, et tout le reste, y compris ses flux, est facultatif.

Cette approche peut être utilisée efficacement - par exemple, vous pouvez « attacher » un autre flux à un fichier en y écrivant n'importe quelle donnée.

Les attributs standard des fichiers et répertoires sur un volume NTFS ont des noms et des codes de type fixes.

Catalogue dans NTFS se trouve un fichier spécial qui stocke des liens vers d'autres fichiers et répertoires.

Le fichier catalogue est divisé en blocs, chacun contenant

· nom de fichier,

attributs de base et

Le répertoire racine du disque n'est pas différent des répertoires normaux, à l'exception d'un lien spécial vers celui-ci depuis le début du métafichier MFT.

La structure de répertoires interne est une arborescence binaire, similaire à HPFS.

Le nombre de fichiers dans les répertoires racine et non racine n'est pas limité.

Le système de fichiers NTFS prend en charge le modèle objet de sécurité NT : NTFS traite les répertoires et les fichiers comme des types d'objets distincts et gère des listes d'autorisations distinctes (bien que se chevauchant) pour chaque type.

NTFS offre une sécurité au niveau des fichiers ; cela signifie que les droits d'accès aux volumes, répertoires et fichiers peuvent dépendre du compte utilisateur et des groupes auxquels l'utilisateur appartient. Chaque fois qu'un utilisateur accède à un objet du système de fichiers, ses droits d'accès sont vérifiés par rapport à la liste d'autorisations de cet objet. Si l'utilisateur dispose des droits suffisants, sa demande est accordée ; sinon la demande est rejetée. Ce modèle de sécurité s'applique à la fois à l'enregistrement des utilisateurs locaux sur les ordinateurs NT et aux requêtes réseau distantes.

Le système NTFS possède également certaines capacités d'auto-réparation. NTFS prend en charge divers mécanismes de vérification de l'intégrité du système, notamment la journalisation des transactions, qui permet de relire les opérations d'écriture de fichiers dans un journal système spécial.

À enregistrement opérations sur les fichiers, le système de gestion de fichiers enregistre les modifications qui se produisent dans un fichier de service spécial. Au début d'une opération liée à la modification de la structure du fichier, une note correspondante est faite. En cas d'échec lors des opérations sur les fichiers, ladite marque de début d'opération reste indiquée comme incomplète. Lorsque vous effectuez une vérification de l'intégrité du système de fichiers après le redémarrage de la machine, ces opérations en attente seront annulées et les fichiers seront restaurés à leur état d'origine. Si l'opération de modification des données dans les fichiers est terminée normalement, alors dans ce même fichier de support de journalisation de service, l'opération est marquée comme terminée.

Le principal inconvénient du système de fichiersNTFS- les données de service prennent beaucoup de place (par exemple, chaque élément du répertoire occupe 2 Ko) - pour les petites partitions, les données de service peuvent occuper jusqu'à 25 % du volume du média.

Þ NTFS ne peut pas être utilisé pour formater des disquettes. Vous ne devez pas l'utiliser pour formater des partitions inférieures à 100 Mo.

Système de fichiers du système d'exploitation UNIX

Dans le monde UNIX, il existe plusieurs types de systèmes de fichiers dotés de leur propre structure de mémoire externe. Les plus connus sont le système de fichiers traditionnel UNIX System V (s5) et le système de fichiers de la famille UNIX BSD (ufs).

Considérez l'article 5.

Un fichier sur un système UNIX est une collection de caractères à accès aléatoire.

Le fichier a une structure qui lui est imposée par l'utilisateur.

Le système de fichiers Unix est un système de fichiers hiérarchique et multi-utilisateurs.

Le système de fichiers a une structure arborescente. Les sommets (nœuds intermédiaires) de l'arborescence sont des répertoires avec des liens vers d'autres répertoires ou fichiers. Les feuilles de l'arborescence correspondent à des fichiers ou répertoires vides.

Commentaire. En fait, le système de fichiers Unix n’est pas arborescent. Le fait est que le système a la possibilité de violer la hiérarchie sous forme d'arbre, puisqu'il est possible d'associer plusieurs noms avec le même contenu de fichier.

Structure du disque

Le disque est divisé en blocs. La taille du bloc de données est déterminée lors du formatage du système de fichiers avec la commande mkfs et peut être définie sur 512, 1 024, 2 048, 4 096 ou 8 192 octets.

On compte 512 octets (taille du secteur).

L'espace disque est divisé dans les zones suivantes (voir figure) :

· bloc de chargement ;

· superbloc de contrôle ;

· tableau d'i-nœuds ;

· zone de stockage du contenu (données) des fichiers ;

· un ensemble de blocs libres (liés dans une liste) ;

Bloc de démarrage

Superbloc

je - nœud

. . .

je - nœud

Commentaire. Pour le système de fichiers UFS - tout cela est répété pour un groupe de cylindres (sauf pour le bloc Boot) + une zone spéciale est allouée pour décrire le groupe de cylindres

Bloc de démarrage

Le bloc est situé dans le bloc n°0. (Rappelez-vous que l'emplacement de ce bloc dans le bloc zéro du périphérique système est déterminé par le matériel, puisque le chargeur de démarrage matériel accède toujours au bloc zéro du périphérique système. Il s'agit du dernier composant du système de fichiers qui dépend du matériel.)

Le bloc de démarrage contient un programme de promotion utilisé pour lancer initialement le système d'exploitation UNIX. Dans les systèmes de fichiers S 5, seul le bloc de démarrage du système de fichiers racine est réellement utilisé. Dans les systèmes de fichiers supplémentaires, cette zone est présente, mais n'est pas utilisée.

Superbloc

Il contient des informations opérationnelles sur l'état du système de fichiers, ainsi que des données sur les paramètres du système de fichiers.

En particulier, le superbloc contient les informations suivantes

· nombre de i-nœuds (descripteurs d'index) ;

· taille de la partition???;

· liste des blocs libres ;

· liste des i-nœuds libres ;

· et autre.

Faisons attention ! L'espace libre sur le disque est liste chaînée de blocs gratuits. Cette liste est stockée dans un superbloc.

Les éléments de liste sont des tableaux de 50 éléments (si bloc = 512 octets, alors élément = 16 bits) :

· Les éléments du tableau n° 1 à 48 contiennent les nombres de blocs libres d'espace de bloc de fichier de 2 à 49.

· l'élément #0 contient un pointeur vers la suite de la liste, et

· le dernier élément (n° 49) contient un pointeur vers un élément libre du tableau.

Si un processus a besoin d'un bloc libre pour développer un fichier, le système sélectionne un élément du tableau à l'aide d'un pointeur (vers un élément libre) et le bloc avec le numéro stocké dans cet élément est fourni au fichier. Si le fichier est réduit, les nombres libérés sont ajoutés au tableau de blocs libres et le pointeur vers l'élément libre est ajusté.

La taille du tableau étant de 50 éléments, deux situations critiques sont possibles :

1. Lorsque nous libérons des blocs de fichiers, mais qu'ils ne peuvent pas tenir dans ce tableau. Dans ce cas, un bloc libre est sélectionné dans le système de fichiers et le tableau entièrement rempli de blocs libres est copié dans ce bloc, après quoi la valeur du pointeur vers l'élément libre est réinitialisée, et l'élément zéro du tableau, qui se trouve dans le superbloc, contient le numéro du bloc que le système a choisi pour copier le contenu du tableau. A ce moment, un nouvel élément de la liste des blocs libres est créé (chacun comportant 50 éléments).

2. Lorsque le contenu des éléments du tableau de blocs libres est épuisé (dans ce cas, l'élément zéro du tableau est zéro). Si cet élément n'est pas égal à zéro, alors cela signifie qu'il y a une suite de le tableau. Cette suite est lue dans une copie du superbloc en RAM.

Liste gratuitei-nœuds. Il s'agit d'un tampon composé de 100 éléments. Il contient des informations sur 100 numéros d'i-nodes actuellement libres.

Le superbloc est toujours en RAM

Þ toutes les opérations (la libération et l'occupation des blocs et des i-nœuds se produisent dans la RAM Þ minimiser les échanges de disques.

Mais! Si le contenu du superbloc n'est pas écrit sur le disque et que l'alimentation est coupée, des problèmes surviendront (un écart entre l'état réel du système de fichiers et le contenu du superbloc). Mais c'est déjà une exigence pour la fiabilité des équipements du système.

Commentaire. Les systèmes de fichiers UFS prennent en charge plusieurs copies du superbloc (une copie par groupe de cylindres) pour améliorer la stabilité.

Zone d'inode

Il s'agit d'un tableau de descriptions de fichiers appelé je -nœuds (je -nœud).(64 octets ?)

Chaque descripteur d'index (i-node) d'un fichier contient :

· Type de fichier (fichier/répertoire/fichier spécial/fifo/socket)

· Attributs (droits d'accès) - 10

ID du propriétaire du fichier

· ID de groupe du propriétaire du fichier

· Temps de création du fichier

Heure de modification du fichier

· Heure du dernier accès au fichier

· Longueur du fichier

· Nombre de liens vers un i-node donné à partir de différents répertoires

Adresses de bloc de fichiers

!note. Il n'y a pas de nom de fichier ici

Regardons de plus près comment il est organisé adressage de bloc, dans lequel se trouve le fichier. Ainsi, dans le champ d'adresse, il y a les numéros des 10 premiers blocs du fichier.

Si le fichier dépasse dix blocs, alors le mécanisme suivant commence à fonctionner : le 11ème élément du champ contient le numéro de bloc, qui contient 128 (256) liens vers des blocs de ce fichier. Si le fichier est encore plus volumineux, le 12ème élément du champ est utilisé - il contient le numéro de bloc, qui contient 128(256) numéros de bloc, chaque bloc contenant 128(256) numéros de bloc du système de fichiers. Et si le fichier est encore plus volumineux, alors le 13ème élément est utilisé - où la profondeur d'imbrication de la liste est augmentée d'un autre.

De cette façon, nous pouvons obtenir un fichier de taille (10+128+128 2 +128 3)*512.

Cela peut être représenté comme suit :

Adresse du 1er bloc du fichier

Adresse du 2ème bloc du fichier

Adresse du 10ème bloc du fichier

Adresse de bloc d'adressage indirect (bloc avec 256 adresses de bloc)

Adresse du 2ème bloc d'adressage indirect (bloc de 256 blocs d'adresses avec adresses)

Adresse du 3ème bloc d'adressage indirect (bloc avec adresses de blocs avec adresses de blocs avec adresses)

Protection des fichiers

Examinons maintenant les identifiants de propriétaire et de groupe ainsi que les éléments de sécurité.

Sous Unix OS, il est utilisé hiérarchie des utilisateurs à trois niveaux:

Le premier niveau concerne tous les utilisateurs.

Le deuxième niveau concerne les groupes d’utilisateurs. (Tous les utilisateurs sont divisés en groupes.

Le troisième niveau est un utilisateur spécifique (les groupes sont constitués d'utilisateurs réels). Du fait de cette organisation des utilisateurs en trois niveaux, chaque fichier possède trois attributs :

1) Propriétaire du fichier. Cet attribut est associé à un utilisateur spécifique, qui est automatiquement attribué par le système comme propriétaire du fichier. Vous pouvez devenir propriétaire par défaut en créant un fichier, et il existe également une commande qui vous permet de changer le propriétaire d'un fichier.

2) Protection de l'accès aux fichiers. L'accès à chaque fichier est limité à trois catégories :

· droits du propriétaire (ce que le propriétaire peut faire avec ce fichier, dans le cas général - pas nécessairement tout) ;

· droits du groupe auquel appartient le propriétaire du fichier. Le propriétaire n'est pas inclus ici (par exemple, un fichier peut être verrouillé en lecture pour le propriétaire, mais tous les autres membres du groupe peuvent librement lire le fichier ;

· tous les autres utilisateurs du système ;

Pour ces trois catégories, trois actions sont réglementées : lire dans un fichier, écrire dans un fichier et exécuter un fichier (dans les mnémoniques du système R, W, X, respectivement). Chaque fichier de ces trois catégories définit quel utilisateur peut lire, lequel peut écrire et qui peut l'exécuter en tant que processus.

Organisation de l'annuaire

Du point de vue du système d'exploitation, un répertoire est un fichier standard contenant des données sur tous les fichiers appartenant au répertoire.

Un élément de répertoire se compose de deux champs :

1) numéro du nœud i (numéro ordinal dans le tableau des nœuds i) et

2)nom du fichier :

Chaque répertoire contient deux noms spéciaux : « . » - le répertoire lui-même ; '..' - Dossier Parent.

(Pour le répertoire racine, le parent fait référence au même répertoire.)

En général, un répertoire peut contenir plusieurs entrées faisant référence au même i-node, mais le répertoire ne peut pas contenir d'entrées portant les mêmes noms. Autrement dit, un nombre arbitraire de noms peut être associé au contenu du fichier. On l'appelle attacher. Une entrée de répertoire qui fait référence à un seul fichier est appelée communication.

Les fichiers existent indépendamment des entrées du répertoire et les liens du répertoire pointent en fait vers des fichiers physiques. Un fichier « disparaît » lorsque le dernier lien pointant vers lui est supprimé.

Ainsi, pour accéder à un fichier par son nom, système opérateur

1. trouve ce nom dans le répertoire contenant le fichier,

2. récupère le numéro du i-node du fichier,

3. par numéro trouve le i-nœud dans la zone des i-nœuds,

4. du i-node reçoit les adresses des blocs dans lesquels se trouvent les données du fichier,

5. lit les blocs de la zone de données en utilisant les adresses de bloc.

Structure de partition de disque dans EXT2 FS

L'ensemble de l'espace de partition est divisé en blocs. Un bloc peut avoir une taille de 1, 2 ou 4 kilo-octets. Un bloc est une unité adressable d’espace disque.

Les blocs de leur zone sont regroupés en groupes de blocs. Les groupes de blocs dans un système de fichiers et les blocs au sein d'un groupe sont numérotés séquentiellement, en commençant par 1. Le premier bloc d'un disque est numéroté 1 et appartient au groupe numéro 1. Le nombre total de blocs sur un disque (dans une partition de disque) est un diviseur de la capacité du disque, exprimé en secteurs. Et le nombre de groupes de blocs ne doit pas nécessairement diviser le nombre de blocs, car le dernier groupe de blocs peut ne pas être complet. Le début de chaque groupe de blocs a une adresse, qui peut être obtenue sous la forme ((numéro de groupe - 1)* (nombre de blocs dans le groupe)).

Chaque groupe de blocs a la même structure. Sa structure est présentée dans le tableau.

Le premier élément de cette structure (superbloc) est le même pour tous les groupes, et tous les autres sont individuels pour chaque groupe. Le superbloc est stocké dans le premier bloc de chaque groupe de blocs (sauf pour le groupe 1, qui possède un enregistrement de démarrage dans le premier bloc). Superbloc est le point de départ du système de fichiers. Sa taille est de 1 024 octets et il est toujours situé à un décalage de 1 024 octets par rapport au début du système de fichiers. La présence de plusieurs copies d'un superbloc s'explique par l'extrême importance de cet élément du système de fichiers. Les doublons de superbloc sont utilisés lors de la récupération d'un système de fichiers après des pannes.

Les informations stockées dans le superbloc permettent d'organiser l'accès au reste des données du disque. Le superbloc détermine la taille du système de fichiers, le nombre maximum de fichiers dans la partition, la quantité d'espace libre et contient des informations sur l'endroit où rechercher les zones non allouées. Lorsque le système d'exploitation démarre, le superbloc est lu en mémoire et toutes les modifications apportées au système de fichiers sont d'abord reflétées dans une copie du superbloc située dans le système d'exploitation et ne sont écrites sur le disque que périodiquement. Cela améliore les performances du système car de nombreux utilisateurs et processus mettent constamment à jour les fichiers. En revanche, lorsque le système est éteint, le superbloc doit être écrit sur le disque, ce qui ne permet pas d'éteindre l'ordinateur par une simple mise hors tension. Sinon, au prochain démarrage, les informations enregistrées dans le superbloc ne correspondront pas à l'état réel du système de fichiers.

Après le superbloc se trouve une description du groupe de blocs (Descripteurs de groupe). Ce descriptif contient :

Adresse du bloc contenant le bitmap de bloc de ce groupe ;

Adresse du bloc contenant le bitmap d'inode de ce groupe ;

Adresse du bloc contenant la table d'inodes de ce groupe ;

Compteur du nombre de blocs libres dans ce groupe ;

Le nombre d'inodes libres dans ce groupe ;

Le nombre d'inodes dans un groupe donné qui sont des répertoires

et d'autres données.

Les informations stockées dans la description du groupe sont utilisées pour localiser les bitmaps de bloc et d'inode, ainsi que la table d'inode.

Système de fichiers Poste 2 se caractérise par :

  • structure hiérarchique,
  • traitement coordonné d'ensembles de données,
  • extension de fichier dynamique,
  • protection des informations dans les fichiers,
  • traiter les périphériques (tels que les terminaux et les lecteurs de bandes) comme des fichiers.

Représentation des fichiers internes

Chaque fichier du système Ext 2 possède un index unique. L'index contient les informations nécessaires à tout processus pour accéder au fichier. Les processus accèdent aux fichiers à l'aide d'un ensemble bien défini d'appels système et identifient le fichier avec une chaîne de caractères qui agit comme un nom de fichier qualifié. Chaque nom composé identifie de manière unique un fichier, de sorte que le noyau système convertit ce nom en un index de fichier. L'index comprend une table d'adresses où les informations sur le fichier se trouvent sur le disque. Étant donné que chaque bloc d'un disque est adressé par son propre numéro, cette table stocke une collection de numéros de blocs de disque. Pour augmenter la flexibilité, le noyau ajoute un fichier bloc par bloc, permettant aux informations du fichier d'être dispersées dans tout le système de fichiers. Mais cette disposition complique la tâche de recherche de données. La table d'adresses contient une liste de numéros de bloc contenant des informations appartenant au fichier.

Inodes de fichiers

Chaque fichier sur le disque possède un inode de fichier correspondant, qui est identifié par son numéro de série - l'index de fichier. Cela signifie que le nombre de fichiers pouvant être créés sur un système de fichiers est limité par le nombre d'inodes, qui est soit explicitement spécifié lors de la création du système de fichiers, soit calculé en fonction de la taille physique de la partition de disque. Les inodes existent sur le disque sous forme statique et le noyau les lit en mémoire avant de travailler avec eux.

L'inode du fichier contient les informations suivantes :

- Le type et les droits d'accès à ce fichier.

Identifiant du propriétaire du fichier (Owner Uid).

Taille du fichier en octets.

Heure du dernier accès au fichier (Heure d'accès).

Heure de création du fichier.

Heure de la dernière modification du fichier.

Heure de suppression du fichier.

ID de groupe (GID).

Les liens comptent.

Le nombre de blocs occupés par le fichier.

Indicateurs de fichier

Réservé au système d'exploitation

Pointeurs vers des blocs dans lesquels les données du fichier sont écrites (un exemple d'adressage direct et indirect sur la Fig. 1)

Version du fichier (pour NFS)

Fichier ACL

Liste de contrôle d'accès d'annuaire

Adresse du fragment

Numéro de fragment

Taille des fragments

Catalogues

Les répertoires sont des fichiers.

Le noyau stocke les données dans un répertoire comme il le fait dans un type de fichier normal, en utilisant une structure d'index et des blocs avec des niveaux d'adressage direct et indirect. Les processus peuvent lire les données des répertoires de la même manière qu'ils lisent les fichiers normaux, cependant, l'accès exclusif en écriture au répertoire est réservé par le noyau, garantissant que la structure des répertoires est correcte.)

Lorsqu'un processus utilise un chemin de fichier, le noyau recherche dans les répertoires le numéro d'inode correspondant. Une fois le nom du fichier converti en numéro d'inode, l'inode est placé en mémoire puis utilisé dans les requêtes suivantes.

Fonctionnalités supplémentaires d'EXT2 FS

En plus des fonctionnalités Unix standard, EXT2fs fournit des fonctionnalités supplémentaires qui ne sont généralement pas prises en charge par les systèmes de fichiers Unix.

Les attributs de fichier vous permettent de modifier la façon dont le noyau réagit lorsque vous travaillez avec des ensembles de fichiers. Vous pouvez définir des attributs sur un fichier ou un répertoire. Dans le second cas, les fichiers créés dans ce répertoire héritent de ces attributs.

Lors du montage du système, certaines fonctionnalités liées aux attributs de fichiers peuvent être définies. L'option de montage permet à l'administrateur de choisir la manière dont les fichiers sont créés. Dans un système de fichiers spécifique à BSD, les fichiers sont créés avec le même ID de groupe que le répertoire parent. Les fonctionnalités du System V sont un peu plus complexes. Si un répertoire a le bit setgid défini, alors les fichiers créés héritent de l'identifiant de groupe de ce répertoire et les sous-répertoires héritent de l'identifiant de groupe et du bit setgid. Sinon, les fichiers et répertoires sont créés avec l'ID de groupe principal du processus appelant.

Le système EXT2fs peut utiliser une modification de données synchrone similaire au système BSD. L'option de montage permet à l'administrateur de spécifier que toutes les données (inodes, blocs de bits, blocs indirects et blocs de répertoire) soient écrites sur le disque de manière synchrone lorsqu'elles sont modifiées. Cela peut être utilisé pour atteindre une capacité d’enregistrement de données élevée, mais entraîne également de mauvaises performances. En réalité, cette fonction n'est généralement pas utilisée car, en plus de dégrader les performances, elle peut entraîner la perte de données utilisateur qui ne sont pas signalées lors de la vérification du système de fichiers.

EXT2fs vous permet de sélectionner la taille du bloc logique lors de la création d'un système de fichiers. Sa taille peut être de 1 024, 2 048 ou 4 096 octets. L'utilisation de blocs plus grands entraîne des opérations d'E/S plus rapides (puisque moins de requêtes de disque sont effectuées) et donc moins de mouvements de tête. D’un autre côté, l’utilisation de gros blocs entraîne un gaspillage d’espace disque. En règle générale, le dernier bloc d'un fichier n'est pas entièrement utilisé pour stocker des informations. Ainsi, à mesure que la taille du bloc augmente, la quantité d'espace disque gaspillé augmente.

EXT2fs vous permet d'utiliser des liens symboliques accélérés. Lors de l'utilisation de tels liens, les blocs de données du système de fichiers ne sont pas utilisés. Le nom du fichier de destination n'est pas stocké dans le bloc de données, mais dans l'inode lui-même. Cette structure permet d'économiser de l'espace disque et d'accélérer le traitement des liens symboliques. Bien entendu, l’espace réservé à un handle est limité, donc tous les liens ne peuvent pas être représentés comme un lien accéléré. La longueur maximale d'un nom de fichier dans un lien accéléré est de 60 caractères. Dans un avenir proche, il est prévu d'étendre ce système aux petits fichiers.

EXT2fs surveille l'état du système de fichiers. Le noyau utilise un champ séparé dans le superbloc pour indiquer l'état du système de fichiers. Si le système de fichiers est monté en mode lecture/écriture, alors son état est défini sur « Not Clean ». S'il est démonté ou remonté en mode lecture seule, alors son état est défini sur « Nettoyer ». Lors des vérifications du démarrage du système et de l'état du système de fichiers, ces informations sont utilisées pour déterminer si une vérification du système de fichiers est nécessaire. Le noyau place également quelques erreurs dans ce champ. Lorsque le noyau détecte une incompatibilité, le système de fichiers est marqué comme « Erroné ». Le vérificateur du système de fichiers teste ces informations pour vérifier le système, même si son état est réellement Clean.

Ignorer les tests du système de fichiers pendant une longue période peut parfois entraîner certaines difficultés, c'est pourquoi EXT2fs inclut deux méthodes pour vérifier régulièrement le système. Le superbloc contient le compteur de montage système. Ce compteur est incrémenté à chaque fois que le système est monté en mode lecture/écriture. Si sa valeur atteint le maximum (elle est également stockée dans le superbloc), alors le programme de test du système de fichiers commence à la vérifier, même si son état est « Propre ». L'heure du dernier contrôle et l'intervalle maximum entre les contrôles sont également stockés dans le superbloc. Lorsque l'intervalle maximum entre les analyses est atteint, l'état du système de fichiers est ignoré et son analyse est lancée.

Optimisation des performances

Le système EXT2fs contient de nombreuses fonctionnalités qui optimisent ses performances, ce qui entraîne une vitesse accrue d'échange d'informations lors de la lecture et de l'écriture de fichiers.

EXT2fs utilise activement le tampon disque. Lorsqu'un bloc doit être lu, le noyau émet une requête d'opération d'E/S vers plusieurs blocs adjacents. Ainsi, le noyau essaie de s'assurer que le prochain bloc à lire a déjà été chargé dans le tampon disque. De telles opérations sont généralement effectuées lors de la lecture séquentielle de fichiers.

Le système EXT2fs contient également un grand nombre d'optimisations pour le placement d'informations. Les groupes de blocs sont utilisés pour regrouper les inodes et les blocs de données correspondants. Le noyau essaie toujours de placer les blocs de données d'un fichier dans le même groupe, ainsi que son descripteur. Ceci a pour but de réduire le mouvement des têtes de lecteur lors de la lecture du descripteur et de ses blocs de données correspondants.

Lors de l'écriture de données dans un fichier, EXT2fs pré-alloue jusqu'à 8 blocs contigus lors de l'allocation d'un nouveau bloc. Cette méthode vous permet d'obtenir des performances élevées sous une charge système importante. Cela permet également de placer les fichiers dans des blocs contigus, ce qui accélère leur lecture ultérieure.