Afficher la structure hiérarchique du disque c. Programmation et ordinateurs : Structure de fichiers du disque. Recherche et élimination des erreurs de disque

6.1 Informations théoriques

Les fichiers sont utilisés pour organiser et stocker des données sur des supports de stockage informatiques. La structuration de nombreux fichiers sur supports informatiques s'effectue à l'aide de répertoires. Dans le système d'exploitation Windows, les outils de gestion de fichiers et de dossiers incluent des programmes Conducteur et fenêtre Mon ordinateur.

L'Explorateur Windows est un programme qui affiche la structure hiérarchique des fichiers, dossiers et lecteurs sur un PC, c'est-à-dire est un moyen d'accéder aux fichiers, dossiers et lecteurs. Sur le côté gauche de la fenêtre, l'Explorateur Windows utilise une vue hiérarchique des dossiers, fichiers et autres ressources connectés à votre ordinateur ou réseau. Le côté droit de la fenêtre de l'Explorateur affiche le contenu du dossier en surbrillance (sélectionné) sur le côté gauche de l'Explorateur.

Pour réaliser ce travail de laboratoire, vous devez vous familiariser avec le matériel présenté dans le cours magistral ou d'autres sources d'information :

6.2 Objet des travaux

Présentation du programme Windows Explorer et acquérir les compétences nécessaires pour créer une structure de dossiers et de fichiers sur une disquette.

6.3 Énoncé du problème

Pour acquérir des compétences professionnelles, suivez ces étapes :

  1. Dans la fenêtre Flash E: Explorer, créez la structure de répertoires illustrée à la Fig. 6.1 (captures d'écran prises en ligne de commande et dans l'Explorateur).
  2. Rechercher des fichiers situés sur votre disque dur AVEC: avec rallonges .doc, .txt, .bmp, et copiez-les sur Flash E : aux catalogues L'INTERNET, FIDONET Et EUNET respectivement.
  3. Dans la fenêtre de l'Explorateur, renommez l'un des fichiers du répertoire L'INTERNET V Net.doc.
  4. Dans la fenêtre Explorateur, déplacez le fichier Net.doc vers un dossier HOMME.
  5. Dans la fenêtre Explorateur, copiez le fichier Net.doc vers un dossier RAPIDE Et FDDI.
  6. Dans la fenêtre Explorateur, supprimez les répertoires HOMME Et PDN.


Figure 6.1.

6.4 Exécution étape par étape des travaux

6.4.1 Allumer le PC

Cliquez sur le bouton Pouvoir sur l'unité centrale du PC.

6.4.2 Familiarisez-vous avec l'Explorateur Windows

6.4.2.1 Une fois le système d'exploitation Windows complètement chargé, ouvrez le menu principal et sélectionnez la commande Programmes, puis dans le sous-menu qui s'ouvre, sélectionnez la commande Standard et dans le sous-menu de deuxième niveau, cliquez sur l'icône de l'Explorateur. Une fenêtre s'ouvrira, sur le côté gauche de laquelle se trouve une structure hiérarchique de dossiers et de lecteurs composée de cinq sections principales : Bureau, Mes documents, Poste de travail, Voisinage réseau et Corbeille.

La barre de titre affiche le nom du dossier (lecteur) qui est en surbrillance (sélectionné) et le côté droit de la fenêtre affiche son contenu (dossiers et fichiers). Pour pénétrer plus profondément dans la structure des dossiers ou des lecteurs, vous devez cliquer sur les icônes plus dans les carrés situés à gauche des icônes du dossier ou du lecteur. Un signe de fin de branche dans une structure hiérarchique est l'absence de signe plus dans la case à gauche de l'icône du dossier. Un dossier qui ne comporte pas de signe plus dans la case à gauche de l'icône est vide ou ne contient que des fichiers. Il convient de noter que les dossiers Bureau et Corbeille n'ont pas de branches.

6.4.2.2 Dans la fenêtre Explorateur, affichez la structure hiérarchique du disque AVEC:.

Structure hiérarchique des disques :

  • pénétrer profondément dans la structure du disque AVEC: cliquez sur les icônes plus dans les carrés situés à gauche des icônes de dossier ;
  • pour réduire la structure hiérarchique du disque AVEC: cliquez sur les icônes moins dans les carrés situés à gauche des icônes des dossiers ;
  • Pour visualiser le contenu d'un dossier dans une structure hiérarchique, vous devez le sélectionner ; son contenu sera présenté dans la moitié droite de la fenêtre.

6.4.2.3 Familiarisez-vous avec la technologie de sélection d'un groupe de fichiers.

Technologie de sélection d'un groupe de fichiers :

  • Pour sélectionner tous les fichiers d'un dossier ou sur un disque, vous devez exécuter la commande dans la barre de menu Modifier/Sélectionner tout ou appuyez sur les touches Ctrl-A;
  • pour sélectionner un groupe de fichiers adjacents, sélectionnez l'icône du premier fichier, appuyez et maintenez la touche Changement, puis cliquez sur l'icône du dernier fichier ;
  • Pour sélectionner un groupe de fichiers non adjacents, appuyez sur la touche Ctrl et tout en le maintenant, cliquez sur les icônes des fichiers ;
  • pour sélectionner un groupe contenant des fichiers adjacents et non adjacents, il est nécessaire d'appliquer différentes méthodes de sélection de groupes de fichiers ;

6.4.3 Dans la fenêtre Explorateur du lecteur E : créez la structure de répertoires illustrée à la Fig. 6.1

6.4.3.1 Installez une clé USB vierge et ouvrez la clé USB dans la fenêtre de l'Explorateur (par exemple, E :).

6.4.3.2 Dans le répertoire racine du lecteur E : créer un dossier RÉSEAUX, pour cela, ouvrez le menu Fichier, sélectionnez la commande Nouveau et dans le sous-menu cliquez sur l'icône « Dossier ». Un nouveau dossier apparaîtra, entrez un nom RÉSEAUX et appuyez sur Entrée.

De la même manière, dans la fenêtre Explorateur, créez tous les autres dossiers conformément à la structure présentée.

6.4.3.3 Sur disque C : trouver des fichiers avec l'extension .doc et pas plus de 50 Ko. Sélectionnez plusieurs fichiers (au moins trois) et copiez-les sur flash E : vers un dossier L'INTERNET.

Pour rechercher et copier des fichiers, procédez comme suit :

  1. Ouvrez la boîte de dialogue Résultats de la recherche et recherchez les fichiers spécifiés. Entrez le masque de recherche de fichier *.doc dans la zone de texte « Partie d'un nom de fichier ou nom de fichier complet » du panneau Assistant et définissez le bouton radio sur Petit (moins de 100 Ko) sous « Quelle est la taille du fichier ? et cliquez sur le bouton Rechercher ;
  2. Sélectionnez le nombre requis de fichiers et placez-les dans le presse-papiers à l'aide de la commande Modifier/Copier ;
  3. Accédez à la fenêtre de l'Explorateur, ouvrez le dossier souhaité sur le lecteur E : et exécutez la commande Coller.

6.4.3.4 Sur disque C : trouver des fichiers avec l'extension .SMS et d'une taille inférieure à 80 Ko. Sélectionnez plusieurs fichiers (au moins cinq) et copiez-les dans un dossier FIDONET sur flash E :.

6.4.3.5 Sur disque C : trouver des fichiers avec l'extension .bmp et d'une taille inférieure à 100 Ko. Sélectionnez plusieurs fichiers (au moins deux) et copiez-les dans un dossier EUNET pour flasher E : une (n'importe laquelle) des méthodes de copie.

6.4.3.6 Sur le lecteur E : ouvrir le répertoire L'INTERNET et sélectionnez n'importe quel fichier, puis renommez-le en Net.docà l'aide de la commande du menu contextuel.

6.4.3.7 Dans la fenêtre Explorateur, déplacez le fichier Net.doc vers un dossier HOMME en utilisant la méthode glisser-déposer.

6.4.3.8 Dans la fenêtre Explorateur, copiez le fichier Net.doc aux catalogues RAPIDE Et FDDIà l'aide de la barre d'outils et du menu contextuel.

6.4.3.9 Dans la fenêtre Explorateur, supprimez des dossiers HOMME Et RPD.

6.4.4 Arrêt

Parlez à votre professeur de votre travail terminé. Après avoir obtenu l'autorisation de terminer le travail, vous pouvez supprimer la structure créée dans la fenêtre Explorateur et fermer toutes les applications, puis commencer à passer des tests sur le travail terminé.

| À propos des fichiers et des structures de fichiers

Leçon 10
Fichiers et structures de fichiers

§onze. À propos des fichiers et des structures de fichiers

Principaux sujets du paragraphe :

Qu'est-ce qu'un fichier ?
- nom de fichier;
- les lecteurs logiques ;
- structure des fichiers disque ;
- le chemin d'accès au fichier ; nom complet du fichier ;
- afficher la structure du fichier.

Questions étudiées :

Fichier – informations stockées sur un support externe et réunies par un nom commun.
- Système de fichiers faisant partie du système d'exploitation.
- Nom du fichier, règles de formation du nom.
- Le concept de lecteur logique.
- Structure de fichiers d'un disque, notion de répertoire.
- Chemin du fichier – coordonnées de l'emplacement du fichier sur le disque.
- Objet de la table d'allocation des fichiers

Qu'est-ce qu'un fichier

Les informations sur les supports externes sont stockées sous forme de fichiers.

Un fichier est une zone nommée de mémoire externe conçue pour stocker des informations.

Travailler avec des fichiers est un type de travail informatique très important. Tout est stocké dans des fichiers : aussi bien les logiciels que les informations nécessaires à l'utilisateur. Avec les fichiers, comme avec les papiers professionnels, il faut constamment faire quelque chose : les copier d'un support à un autre, détruire ceux qui ne sont pas nécessaires, en créer de nouveaux, les rechercher, les renommer, les mettre dans un ordre ou un autre, etc.

Pour clarifier le sens de la notion de fichier, il convient d'utiliser l'analogie suivante : le support de stockage lui-même (par exemple, un disque) est comme un livre. Nous avons parlé de quoi un livre est la mémoire externe d’une personne, UN disque magnétique - mémoire externe de l'ordinateur. Le livre se compose de chapitres (histoires, sections), chacun ayant un titre. Les fichiers ont également leurs propres noms. C'est ce qu'on appelle des noms de fichiers. Au début ou à la fin d'un livre se trouve généralement une table des matières - une liste de titres de chapitres. Il existe également une telle liste de répertoires sur le disque contenant les noms des fichiers stockés.

Catalogue peut être affiché à l'écran pour savoir si le fichier souhaité se trouve sur un disque donné.

Chaque fichier contient un objet d'information: document, article, tableau numérique, programme, etc. Les informations contenues dans le fichier ne deviennent actives, c'est-à-dire peuvent être traitées par un ordinateur, qu'après avoir été chargées dans la RAM.

Tout le nécessaire les actions sur les fichiers sont fournies par le système d'exploitation.

Pour trouver le fichier dont vous avez besoin, l'utilisateur doit savoir :

A) quel est le nom du fichier ;
b) où le fichier est stocké.

Nom de fichier

Voici un exemple de nom de fichier * :

monprog.pas

* Les exemples suivants se concentrent sur les règles adoptées dans les systèmes d'exploitation Microsoft : MS-DOS et Windows. Les applications du système d'exploitation Linux sont également illustrées.


À gauche du point se trouve le nom réel du fichier ( monprog). La partie du nom qui suit le point ( pas) s'appelle l'extension de fichier. Habituellement, des lettres et des chiffres latins sont utilisés dans les noms de fichiers. De plus, le nom du fichier peut ne pas avoir d'extension. Dans le système d'exploitation Microsoft Windows, les lettres russes sont autorisées dans les noms de fichiers ; La longueur maximale du nom est de 255 caractères.

L'extension indique quel type d'informations est stocké dans ce fichier. Par exemple, extension SMS désigne généralement un fichier texte (contient du texte), extension rskh- fichier graphique (contient une image), fermeture éclair ou rugir- fichier d'archive (contient des informations d'archive - compressées), pas- programme en langage Pascal.

Lecteurs logiques

Un ordinateur peut avoir plusieurs lecteurs de disque - des périphériques permettant de travailler avec des disques. Souvent sur un ordinateur personnel, un disque dur de grande capacité intégré à l'unité centrale est divisé en sections. Chacune de ces partitions est appelée disque logique et se voit attribuer un nom à une lettre (suivi de deux points) C:, D:, E:, etc. Les noms A: et B: font généralement référence à des disques amovibles de petite capacité - disquettes (disquettes) . Ils peuvent également être considérés comme des noms de disques logiques, dont chacun occupe entièrement un disque réel (physique). * . Par conséquent, A:, B:, C:, D: sont tous des noms de lecteurs logiques.

* Sur les modèles de PC modernes, les disquettes magnétiques sont devenues obsolètes.


Le lecteur optique reçoit le nom alphabétique suivant le nom de la dernière partition du disque dur. Par exemple, si votre disque dur comporte les partitions C: et D:, alors le nom E: sera attribué au lecteur optique. Et lorsque vous connectez la mémoire flash, un autre lecteur F : apparaîtra dans la liste des lecteurs logiques.

Le nom du lecteur logique contenant le fichier est la première « coordonnée » qui détermine l'emplacement du fichier.

Structure des fichiers disque

Les systèmes d'exploitation modernes prennent en charge l'organisation à plusieurs niveaux des fichiers sur des périphériques de disque mémoire externes - une structure de fichiers hiérarchique. Pour faciliter la compréhension de cette problématique, nous utiliserons une analogie avec la méthode traditionnelle « papier » de stockage des informations. Dans cette analogie, un fichier est représenté comme un document intitulé (texte, dessin) sur des feuilles de papier. L'élément suivant de la structure du fichier est appelé un répertoire. Poursuivant l'analogie « papier », nous considérerons un répertoire comme un dossier dans lequel vous pouvez joindre de nombreux documents, c'est-à-dire des fichiers. Le répertoire a également son propre nom (pensez-y sur la couverture d'un dossier).

Le répertoire lui-même peut faire partie d'un autre répertoire externe. Cela revient à imbriquer un dossier dans un autre dossier plus grand. Ainsi, chaque répertoire peut contenir de nombreux fichiers et sous-répertoires (appelés sous-répertoires). Le répertoire de niveau supérieur qui n’est imbriqué dans aucun autre répertoire est appelé répertoire racine.

Dans le système d'exploitation Windows, le terme « dossier » est utilisé pour désigner la notion de « répertoire ».

Une représentation graphique d'une structure de fichiers hiérarchique est appelée une arborescence.

Dans une arborescence, le répertoire racine est généralement représenté par le symbole \ . Dans la figure 2.10, les noms de répertoires sont écrits en majuscules et les noms de fichiers en minuscules. Ici, dans le répertoire racine, il y a deux dossiers : IVANOV et PETROV et un fichier fin.com. Le dossier IVANOV contient deux sous-dossiers PROGS et DATA. Le dossier DATA est vide ; il y a trois fichiers dans le dossier PROGS, etc.


Le chemin d'accès au fichier

Imaginez maintenant que vous ayez besoin de rechercher un document spécifique. Pour ce faire dans la version « papier », il faut connaître la boite dans laquelle il se trouve, ainsi que le « chemin » du document à l'intérieur de la boite : toute la séquence de dossiers qu'il faut ouvrir pour accéder au les papiers que vous recherchez.

Pour rechercher un fichier sur un ordinateur, vous devez connaître le lecteur logique sur lequel se trouve le fichier et le chemin d'accès au fichier sur le lecteur, qui détermine l'emplacement du fichier sur ce lecteur. Le chemin d'accès à un fichier est une séquence de noms de répertoires, commençant par le répertoire racine et se terminant par celui dans lequel le fichier est directement stocké. Voici l'analogie familière du concept de « chemin vers le fichier » : « Il y a un coffre accroché à un chêne, dans le coffre il y a un lièvre, dans le lièvre il y a un canard, dans le canard il y a un œuf, dans l'œuf il y a une aiguille, au bout de laquelle se trouve la mort de Koshcheev.

Enfin, vous devez connaître le nom du fichier. Le nom du lecteur logique, le chemin du fichier et le nom du fichier, écrits dans l'ordre, forment le nom complet du fichier.

Si cela est montré sur la Fig. 2.10 est stockée sur le lecteur C:, puis les noms complets de certains fichiers qui y sont inclus sont dans les symboles du système d'exploitation Microsoft Windows ressemblent à ceci:

C:\fin.com
C: \IV ANOV\PROGS\prog 1. pas
Depuis : \PETROV\DATA\tâche. ça

Affichage de la structure du fichier

Le système d'exploitation offre à l'utilisateur la possibilité de visualiser le contenu des répertoires (dossiers) à l'écran.

Les informations sur la structure des fichiers d'un disque sont contenues sur le même disque sous la forme d'une table d'allocation de fichiers. À l'aide du système de fichiers du système d'exploitation, l'utilisateur peut afficher séquentiellement le contenu des répertoires (dossiers) sur l'écran, en descendant ou en remontant dans l'arborescence de la structure des fichiers.

La figure 2.11 montre un exemple d'affichage d'une arborescence de répertoires sur un écran d'ordinateur sous Windows.

La fenêtre de droite affiche le contenu du dossier ARCON. Il s'agit de nombreux fichiers de types différents. Ainsi, par exemple, il est clair que le nom complet du premier fichier de la liste est le suivant :

E:\GAME\GAMES\ARCON\dos4gw.exe

À partir du tableau, vous pouvez obtenir des informations supplémentaires sur les fichiers. Par exemple, le fichier dos4gw.exe a une taille de 254 556 octets et a été créé le 31 mai 1994 à 2h00 du matin.

Après avoir trouvé une entrée sur le fichier souhaité dans une telle liste, à l'aide des commandes du système d'exploitation, l'utilisateur peut effectuer diverses actions avec le fichier : exécuter le programme contenu dans le fichier ; supprimer, renommer, copier le fichier. Vous apprendrez à réaliser toutes ces opérations dans une leçon pratique.

En bref sur l'essentiel

Déposer est une zone nommée de la mémoire externe de l'ordinateur.

Toutes les actions nécessaires sur les fichiers sont fournies système opérateur.

Le nom du fichier se compose du nom réel et de l'extension. L'extension indique le type d'informations contenues dans le fichier (type de fichier).

Structure de fichiers hiérarchique- organisation multi-niveaux des fichiers sur disques.

Catalogue est une liste nommée de fichiers et de sous-répertoires (sous-répertoires). Le répertoire de niveau supérieur est appelé répertoire racine. Il n’est imbriqué dans aucun répertoire.

Le nom complet du fichier comprend le nom du lecteur logique, le chemin d'accès au fichier sur le lecteur et le nom du fichier..

Questions et tâches

1. Quel est le nom du système d’exploitation utilisé dans votre laboratoire informatique ?

2. De combien de disques physiques vos ordinateurs disposent-ils ? Combien de disques logiques y a-t-il sur les disques physiques et quels noms portent-ils dans le système d'exploitation ?

3. Quelles règles régissent les noms de fichiers dans votre système d'exploitation ?

4. Quel est le chemin d'accès au fichier sur le disque, le nom complet du fichier ?

5. Apprenez (sous la direction d'un enseignant) à afficher à l'écran les répertoires de disques de vos ordinateurs.

6. Apprenez à initialiser des programmes à partir de fichiers programme (tels que exe, com).

7. Apprenez à effectuer des opérations de base sur les fichiers dans le système d'exploitation que vous utilisez (copier, déplacer, supprimer, renommer des fichiers).

Supplément de cours électronique


Télécharger le matériel de cours

Tous les programmes et données sont stockés dans la mémoire à long terme de l'ordinateur sous forme de fichiers.

Définition 1

Déposer– un ensemble nommé de données enregistrées sur un support. Tout fichier a un nom composé de deux parties séparées par un point : le nom lui-même et l'extension. Lors de la spécification d'un nom de fichier, il est souhaitable qu'il indique soit le contenu du fichier, soit l'auteur.

L'extension indique le type d'informations stockées dans le fichier. Le nom du fichier est donné par l'utilisateur et le type de fichier est généralement défini automatiquement par le programme lors de sa création.

Image 1.

Le nom du fichier peut contenir jusqu'à 255 $ de caractères, extension comprise. Le nom du fichier peut être composé de lettres, de chiffres et d’autres symboles anglais et russes.

Il est interdit d'utiliser les caractères suivants dans les noms de fichiers :

\ / * ? : “ | .

Extension de certains types de fichiers :

Figure 2.

En plus du nom et du type, les paramètres du fichier comprennent également : la taille du fichier, la date et l'heure de création, l'icône (un objet graphique élémentaire, par lequel vous pouvez savoir dans quel environnement le fichier a été créé ou de quel type il s'agit).

Figure 3.

Classification des icônes de fichiers

Graphique 4.

Définition 2

Structure du fichier– un ensemble de fichiers et la relation entre eux.

Structure de fichiers à un seul niveau utilisé pour les disques contenant un petit nombre de fichiers et constitue une séquence linéaire de noms de fichiers.

Structure de fichiers à plusieurs niveaux utilisé si le disque contient des milliers de fichiers regroupés dans des dossiers. Multi-niveau signifie un système de dossiers imbriqués avec des fichiers.

Chaque disque a un nom logique, désigné par une lettre latine suivie de deux points :

  • C :, D :, E : etc. – les lecteurs durs et optiques,
  • A :, B : - disques flexibles.

Le dossier de niveau supérieur d'un disque est le dossier racine, qui dans le système d'exploitation Windows est indiqué en ajoutant une icône « » au nom du disque, par exemple, D:\ est la désignation du dossier racine.

Exemple de structure de fichier:

Graphique 5.

Catalogue est un dossier ou un répertoire dans lequel sont placés les fichiers et autres répertoires.

Un répertoire qui n'est un sous-répertoire d'aucun autre répertoire est appelé racine. Ce répertoire se situe au niveau supérieur de la hiérarchie de tous les répertoires. Sous Windows, chaque lecteur possède son propre répertoire racine (D:\, C:\, E:).

Les répertoires du système d'exploitation Windows sont divisés en système et utilisateur. Exemple de répertoires système : « Bureau », « Voisinage réseau », « Corbeille », « Panneau de configuration ».

Figure 6. Répertoires système du système d'exploitation Windows

De gauche à droite : dossier système

Corbeille, dossier Mes documents, raccourci vers le dossier Mes documents

Un répertoire et un dossier sont physiquement la même chose.

Le chemin d'accès au fichier est son adresse.

Le chemin d'accès au fichier commence toujours par le nom du lecteur logique (D:\, C:\, E:), puis une séquence de noms de dossiers imbriqués les uns dans les autres est écrite, le dernier dossier contenant le fichier souhaité. Le chemin d'accès au fichier ainsi que le nom du fichier sont appelés nom complet du fichier, par exemple : D:\Mes documents\Literature\Essay.doc nom complet du fichier Essay.doc.

Figure 7. Répertoire et arborescence de fichiers

Schématiquement, la structure des fichiers d'un disque est représentée sous forme d'arborescence.

Figure 8. Structure des fichiers du lecteur Z :

  • Z:\box\box1 – nom complet du dossier (répertoire) box1
  • Z:\box\box.txt – nom complet du fichier box.txt
  • Z:\box\box2\box3\box1 - nom complet du dossier (répertoire) box1
  • Z:\box\box2\box3\box.txt - nom complet du fichier box.txt

Les utilisateurs accèdent aux fichiers par des noms symboliques. Cependant, la mémoire humaine limite le nombre de noms d'objets auxquels un utilisateur peut faire référence par son nom. L'organisation hiérarchique de l'espace de noms nous permet d'élargir considérablement ces frontières. C'est pourquoi la plupart des systèmes de fichiers ont une structure hiérarchique, dans laquelle les niveaux sont créés en permettant à un répertoire de niveau inférieur d'être contenu dans un répertoire de niveau supérieur (Figure 19).

Riz. 19. Hiérarchie du système de fichiers :

a – organisation à un seul niveau ; b – arbre ; en réseau

Le graphe décrivant la hiérarchie des répertoires peut être une arborescence ou un réseau. Les répertoires forment une arborescence si un fichier peut être inclus dans un seul répertoire (Fig. 19, b), et un réseau - si le fichier peut être inclus dans plusieurs répertoires à la fois (Fig. 19, c). Par exemple, sous MS-DOS et Windows, les répertoires forment une structure arborescente, tandis que sous UNIX, ils forment une structure réseau. Dans une arborescence, chaque fichier est une feuille. Le répertoire de niveau supérieur est appelé répertoire racine, ou racine.

Avec cette organisation, l'utilisateur est libéré de la mémorisation des noms de tous les fichiers, il lui suffit d'avoir une idée générale du groupe auquel un fichier particulier peut être attribué pour le retrouver en parcourant séquentiellement les répertoires. La structure hiérarchique est pratique pour le travail multi-utilisateurs : chaque utilisateur avec ses fichiers est localisé dans son propre répertoire ou sous-arborescence de répertoires, et en même temps, tous les fichiers du système sont logiquement connectés.

Un cas particulier de structure hiérarchique est une organisation à un seul niveau, lorsque tous les fichiers sont inclus dans un seul répertoire (Fig. 19, a).

Noms de fichiers

Tous les types de fichiers ont des noms symboliques. Les systèmes de fichiers organisés hiérarchiquement utilisent généralement trois types de noms de fichiers : simple, composé et relatif.

Un nom symbolique simple ou court identifie un fichier dans un seul répertoire. Des noms simples sont attribués aux fichiers par les utilisateurs et les programmeurs, et ils doivent prendre en compte les restrictions du système d'exploitation concernant à la fois la plage de caractères et la longueur du nom. Jusqu’à récemment, ces frontières étaient très étroites. Ainsi, dans le système de fichiers FAT, la longueur des noms était limitée au schéma 8.3 (8 caractères - le nom lui-même, 3 caractères - l'extension du nom), et dans le système de fichiers s5, pris en charge par de nombreuses versions du système d'exploitation UNIX, un le nom symbolique simple ne peut pas contenir plus de 14 caractères. Cependant, il est beaucoup plus pratique pour l'utilisateur de travailler avec des noms longs car ils permettent de donner aux fichiers des noms faciles à retenir qui indiquent clairement ce qui est contenu dans le fichier. Par conséquent, les systèmes de fichiers modernes, ainsi que les versions améliorées des systèmes de fichiers préexistants, ont tendance à prendre en charge des noms de fichiers symboliques longs et simples. Par exemple, sur les systèmes de fichiers NTFS et FAT32 inclus avec le système d'exploitation Windows NT, un nom de fichier peut contenir jusqu'à 255 caractères.

Exemples de noms de fichiers et de répertoires simples :

Supplément au CD 254L en russe.doc

gestionnaire de système de fichiers installable.doc

Dans les systèmes de fichiers hiérarchiques, différents fichiers peuvent avoir les mêmes noms symboliques simples, à condition qu'ils appartiennent à des répertoires différents. Autrement dit, le schéma « plusieurs fichiers - un nom simple » fonctionne ici. Pour identifier de manière unique un fichier dans de tels systèmes, un nom dit complet est utilisé.

Le nom complet est une chaîne de noms symboliques simples de tous les répertoires par lesquels passe le chemin de la racine au fichier donné. Ainsi, le nom complet est un nom composé dans lequel les noms simples sont séparés les uns des autres par le séparateur accepté dans le système d'exploitation. Souvent, une barre oblique ou une barre oblique inverse est utilisée comme délimiteur, et il est d'usage de ne pas spécifier le nom du répertoire racine. En figue. 19, b deux fichiers portent le nom simple main.exe, mais leurs noms composés /depart/main.exe et /user/anna/main exe sont différents.

Dans un système de fichiers arborescents, il existe une correspondance biunivoque entre un fichier et son nom complet « un fichier – un nom complet ». Dans les systèmes de fichiers qui ont une structure en réseau, un fichier peut être inclus dans plusieurs répertoires, ce qui signifie qu'il peut avoir plusieurs noms complets ; ici la correspondance « un fichier - plusieurs noms complets » est valable. Dans les deux cas, le fichier est identifié de manière unique par son nom complet.

Un fichier peut également être identifié par un nom relatif. Le nom relatif du fichier est déterminé par le concept de « répertoire courant ». Pour chaque utilisateur, à un moment donné, l'un des répertoires du système de fichiers est le répertoire courant, et ce répertoire est sélectionné par l'utilisateur lui-même sur une commande du système d'exploitation. Le système de fichiers capture le nom du répertoire actuel afin de pouvoir ensuite l'utiliser en complément des noms relatifs pour former le nom de fichier complet. Lors de l'utilisation de noms relatifs, l'utilisateur identifie un fichier par la chaîne de noms de répertoires par laquelle passe la route du répertoire actuel vers le fichier donné. Par exemple, si le répertoire actuel est /user, alors le nom de fichier relatif /user/anna/main.exe est anna/main.exe.

Certains systèmes d'exploitation vous permettent d'attribuer plusieurs noms simples au même fichier, qui peuvent être interprétés comme des alias. Dans ce cas, tout comme dans un système à structure en réseau, la correspondance « un fichier - plusieurs noms complets » s'établit, puisque à chaque nom de fichier simple correspond au moins un nom complet.

Et bien que le nom complet identifie le fichier de manière unique, il est plus facile pour le système d'exploitation de travailler avec le fichier s'il existe une correspondance biunivoque entre les fichiers et leurs noms. Pour cela, il attribue un nom unique au fichier, afin que le rapport « un fichier - un nom unique » soit valable. Le nom unique existe avec un ou plusieurs noms symboliques attribués au fichier par les utilisateurs ou les applications. Le nom unique est un identifiant numérique et est destiné uniquement au système d'exploitation. Un exemple d'un tel nom de fichier unique est un numéro d'inode sur un système UNIX.

Montage

En général, un système informatique peut comporter plusieurs périphériques de disques. Même un ordinateur personnel typique possède généralement un disque dur, un lecteur de disquette et un lecteur de CD-ROM. En règle générale, les ordinateurs puissants sont équipés d'un grand nombre de lecteurs de disque sur lesquels des packages de disques sont installés. De plus, même un périphérique physique, à l'aide des outils du système d'exploitation, peut être représenté comme plusieurs périphériques logiques, notamment en divisant l'espace disque en partitions. La question se pose : comment organiser le stockage de fichiers dans un système disposant de plusieurs périphériques de mémoire externes ?

La première solution est que chaque appareil héberge un système de fichiers autonome, c'est-à-dire que les fichiers situés sur cet appareil sont décrits par une arborescence de répertoires qui n'est en aucun cas connectée aux arborescences de répertoires des autres appareils. Dans ce cas, pour identifier le fichier de manière unique, l'utilisateur doit spécifier l'identifiant du périphérique logique ainsi que le nom symbolique composé du fichier. Un exemple d'une telle existence autonome de systèmes de fichiers est le système d'exploitation MS-DOS, dans lequel le nom complet du fichier inclut la lettre d'identification du lecteur logique. Ainsi, lors de l'accès à un fichier situé sur le lecteur A, l'utilisateur doit préciser le nom de ce lecteur : A:\privat\letter\uni\let1.doc.

Une autre option consiste à organiser le stockage de fichiers dans lequel l'utilisateur a la possibilité de combiner des systèmes de fichiers situés sur différents appareils en un seul système de fichiers, décrit par une seule arborescence de répertoires. Cette opération s'appelle le montage. Voyons comment cette opération est effectuée en utilisant le système d'exploitation UNIX comme exemple.

Parmi tous les périphériques de disque logique disponibles dans le système, le système d'exploitation distingue un périphérique, appelé système. Supposons qu'il y ait deux systèmes de fichiers situés sur des lecteurs logiques différents (Fig. 20), et l'un des lecteurs est le lecteur système.

Le système de fichiers situé sur le disque système est désigné comme racine. Pour lier les hiérarchies de fichiers dans le système de fichiers racine, un répertoire existant est sélectionné, dans cet exemple le répertoire man. Une fois le montage terminé, le répertoire man sélectionné devient le répertoire racine du deuxième système de fichiers. Grâce à ce répertoire, le système de fichiers monté est attaché en tant que sous-arbre à l'arborescence générale (Fig. 21).

Riz. 20. Deux systèmes de fichiers avant le montage

Riz. 21. Système de fichiers partagé après le montage

Une fois qu'un système de fichiers partagé est monté, il n'y a aucune différence logique pour l'utilisateur entre les systèmes de fichiers racine et montés ; en particulier, la dénomination des fichiers est effectuée de la même manière que s'il s'agissait au départ d'un système de fichiers unique.

Attributs du fichier

La notion de « fichier » inclut non seulement les données et le nom qu'il stocke, mais également ses attributs. Les attributs de fichier sont des informations qui décrivent les propriétés d'un fichier. Exemples d'attributs de fichier possibles :

 type de fichier (fichier normal, répertoire, fichier spécial, etc.) ;

 propriétaire du fichier ;

 créateur de fichiers ;

 mot de passe pour accéder au fichier;

 des informations sur les opérations d'accès aux fichiers autorisées ;

 heures de création, dernier accès et dernière modification ;

 taille actuelle du fichier ;

 taille maximale du fichier ;

 signe « lecture seule » ;

 panneau « fichier caché » ;

 signe « fichier système » ;

 signer « fichier archive » ;

 attribut « binaire/caractère » ;

 attribut « temporaire » (supprimé une fois le processus terminé) ;

 panneau de blocage ;

 longueur de l'enregistrement dans le dossier ;

 pointeur vers le champ clé de l'enregistrement ;

 longueur de clé.

L'ensemble des attributs de fichier est déterminé par les spécificités du système de fichiers : différents types de systèmes de fichiers peuvent utiliser différents ensembles d'attributs pour caractériser les fichiers. Par exemple, sur les systèmes de fichiers prenant en charge les fichiers plats, il n'est pas nécessaire d'utiliser les trois derniers attributs de la liste liés à la structuration des fichiers. Dans un système d'exploitation mono-utilisateur, l'ensemble des attributs manquera de caractéristiques pertinentes pour les utilisateurs et la sécurité, telles que le propriétaire du fichier, le créateur du fichier, le mot de passe pour accéder au fichier, les informations sur l'accès autorisé au fichier.

L'utilisateur peut accéder aux attributs en utilisant les fonctionnalités prévues à cet effet par le système de fichiers. En règle générale, vous pouvez lire les valeurs de n'importe quel attribut, mais n'en modifier que certaines. Par exemple, un utilisateur peut modifier les autorisations d'un fichier (à condition qu'il dispose des autorisations nécessaires pour le faire), mais il ne peut pas modifier la date de création ou la taille actuelle du fichier.

Les valeurs des attributs de fichier peuvent être directement contenues dans des répertoires, comme c'est le cas dans le système de fichiers MS-DOS (Fig. 22, a). La figure montre la structure d'une entrée de répertoire contenant un nom symbolique simple et des attributs de fichier. Ici, les lettres indiquent les caractéristiques du fichier : R - lecture seule, A - archivé, H - caché, S - système.

Riz. 22. Structure du répertoire :

a – Structure d'entrées de répertoire MS-DOS (32 octets) ; b – Structure des entrées du répertoire du système d’exploitation UNIX

Une autre option consiste à placer les attributs dans des tables spéciales, lorsque les catalogues ne contiennent que des liens vers ces tables. Cette approche est implémentée, par exemple, dans le système de fichiers ufs du système d'exploitation UNIX. Dans ce système de fichiers, la structure des répertoires est très simple. Un enregistrement sur chaque fichier contient un court nom de fichier symbolique et un pointeur vers le descripteur d'index de fichier, c'est le nom en ufs de la table dans laquelle les valeurs des attributs de fichier sont concentrées (Fig. 22, b).

Dans les deux versions, les répertoires fournissent un lien entre les noms de fichiers et les fichiers eux-mêmes. Cependant, l'approche consistant à séparer le nom du fichier de ses attributs rend le système plus flexible. Par exemple, un fichier peut facilement être inclus dans plusieurs répertoires à la fois. Les entrées de ce fichier dans différents répertoires peuvent avoir des noms simples différents, mais le champ de lien aura le même numéro d'inode.

Articles à lire :

Clustering hiérarchique | Université de Stanford

Le secteur initial du disque dur contient l'enregistrement racine principal, qui est chargé en mémoire et exécuté.

La dernière partie de ce secteur contient la table de partition - une table à 4 éléments avec des éléments de 16 octets. Cette table est manipulée par le programme FDISK (ou un utilitaire équivalent sur un autre système d'exploitation).

Lors du démarrage, le ROM-BIOS charge l'entrée racine principale et transfère le contrôle à son code. Ce code lit la table de partition pour déterminer la partition marquée comme active. Le secteur racine correct est ensuite lu en mémoire et exécuté.

Tableau 1. Structure de l'entrée racine principale et de la table de partition

Tableau 2. Structure du descripteur de section

Le code de partition est utilisé pour déterminer la présence et l'emplacement des partitions principale et étendue sur le disque. Une fois la partition souhaitée localisée, sa taille et ses coordonnées peuvent être extraites des champs descripteurs correspondants. Si 0 est écrit dans le champ code de partition, alors le descripteur est considéré comme vide, c'est-à-dire qu'il ne définit aucune partition sur le disque.

Tableau 3. Codes de partition du système d'exploitation Microsoft

CodeType de sectionTailleType de graisseSystème d'exploitation
01hBasique0-15 MoFAT12MS-DOS 2.0
04hBasique16-32 MoFAT16MS-DOS 3.0
05hAvancé0-2 Go- MS-DOS 3.3
06hBasique32 Mo-2 GoFAT16MS-DOS 4.0
0BhBasique512 Mo-2 GoFAT32OSR2
0ChAvancé512 Mo-2 ToFAT32OSR2
0EhBasique32 Mo-2 GoFAT16Windows 95
0FhAvancé0-2 Go- Windows 95

Les codes suivants sont réservés aux systèmes d'exploitation d'autres sociétés :

  • 02h - tronçon CP/M;
  • 03h - Section Xenix;
  • 07h - Partition OS/2 (système de fichiers HPFS).

Remarques:

  1. Les numéros de cylindre et de secteur occupent respectivement 10 et 6 bits :
    15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
    ccccccccccssssss

    Ils sont disposés de telle sorte que lorsque vous chargez CX avec une valeur de 16 bits, il est prêt à appeler l'interruption INT 13h pour lire la partie souhaitée du disque. Ainsi, après avoir lu le Master Load Record dans la zone mémoire sect_buf, le code est CMP byte ptr sect_buf, 80h

    vérifiera si la première partition est active, et le code

    MOV CX, sect_buf

    chargera CX pour appeler INT 13h pour lire le secteur racine de la partition n°1.

  2. La valeur du "secteur relatif" au décalage 08h dans chaque partition est équivalente à la tête, au secteur et au cylindre de l'adresse de départ de la partition. Le secteur relatif 0 coïncide avec le cylindre 0, tête 0, secteur 1. Le numéro de secteur relatif augmente d'abord pour chaque secteur de la tête, puis pour chaque tête et enfin pour chaque cylindre.

    Formule applicable :

    Rel_sec = (#Cyl * sec_per_cyl * têtes) + (#Goal * sec_per_cyl) + (#Sec -1)

    Les partitions commencent à un numéro de cylindre pair, à l'exception de la première partition, qui peut commencer au cylindre 0, tête 0, secteur 2 (puisque le secteur 1 est occupé par le Master Boot Record).

    Lorsque l'entrée de la partition racine prend le contrôle, DS:SI pointe vers l'entrée de la table de partition correspondante.

Structure du secteur racine

Tableau 4. Format du secteur racine d'une disquette ou d'une partition de disque dur

00h3 JMPxx xxNEAR sauter pour télécharger le code
03h8 "JE""B""M" "4" "." "0" Nom de la société OEM et version du système
0Bh2 Taille de sectenombre d'octets dans le secteur (toujours 512)début du BPB
0Dh1 Taille du clusternombre de secteurs dans le cluster
0Eh2 ResSecsnombre de secteurs de rechange (secteurs avant FAT #1)
10h1 GrosCntnombre de tables FAT
11h2 Taille de racinenombre d'éléments de 32 octets du répertoire racine (pour FAT32 - 0)
13h2 TotSecsnombre total de secteurs sur le support (partition DOS)
15h1 Médiastype de média (identique au 1er octet de FAT)
16h2 Taille de graissenombre de secteurs dans un FATmettre fin au BPB
18h2 TrkSecs nombre de secteurs par piste
1Ah2 ChefCnt nombre de têtes
1Ch4 Secousse cachéenombre de secteurs cachés (utilisés dans les schémas de partition)
20h4 TotSecsnombre total de secteurs si taille > 32 Mo
24h1 128 numéro de disque physique
25h1 réserve
26h1 29h signe d'une structure étendue
27h4 ID de volume (numéro de série)
2 chBh étiquette (SANS NOM)
36h8 ID du système de fichiers (FAT12)
3Eh début du chargement du code et des données

Remarques:

  1. Types de supports de stockage :
    • F0h - disquette, 2 faces, 18 secteurs par piste ;
    • F8h - disque dur ;
    • F9h - disquette, 2 faces, 15 secteurs par piste ;
    • FCh - disquette, 1 face, 9 secteurs par piste ;
    • FDh - disquette, 2 faces, 9 secteurs par piste ;
    • FEh - disquette, 1 face, 8 secteurs par piste ;
    • FFh - disquette, 2 faces, 8 secteurs par piste.
  2. Utilisez la lecture absolue INT 25h (DX=0) pour lire ce secteur. OU:
    • disquettes : secteur racine = BIOS INT 13h tête 0, piste 0, secteur 1 ;
    • dur : lisez Partition_Table pour le BIOS tête/piste/secteur.
  3. BPB (BIOS Parameter Block) est un sous-ensemble de données contenues dans le root_sector. La demande du pilote « Build BPB » nécessite que le pilote remplisse le bloc indiqué ci-dessus. Longueur BPB = 13 octets

Tableau des paramètres de la disquette

Cette structure de 10 octets est également connue sous le nom de « table de base de disque ». Il est situé à l'adresse du vecteur d'interruption INT 1Eh (adresse 4 octets à 0:0078). Ce tableau spécifie certaines variables importantes pour les périphériques de disquettes. Il est initialisé par ROM-BIOS et modifié par DOS pour améliorer les performances des disquettes.

Tableau 5. Format de la table des paramètres de la disquette

BiaisLongueurContenu
00h1 Premier octet de la spécification :
bits 0-3 - temps de chargement de la tête ;
bits 4 à 7 - durée du pas de tête
01h1 Deuxième octet de la spécification :
bit 0 - indicateur de mode DMA ;
bits 1 à 7 - temps de chargement de la tête
02h1 Délai avant l’arrêt du moteur (en « ticks » de l’horloge système)
03h1 Taille du secteur (octets) : 0 - 128, 1 - 256, 2 - 512, 3 - 1024
04h1 Nombre de secteurs par piste
05h1 Longueur de l'espace intersecteur pour les opérations de lecture/écriture
06h1 Longueur de la zone de données
07h1 Longueur de l'espace intersectoriel pour l'opération de formatage
08h1 Caractère d'espace réservé pour le formatage (généralement 0F6h, c'est-à-dire "Ў")
09h1 Temps d'installation de la tête (en millisecondes)
0 Ah1 Temps de démarrage du moteur (en 1/8 s)

Tableau des paramètres du disque dur

Cette structure de 16 octets est située à l'adresse de vecteur d'interruption INT 41h (adresse de 4 octets à 0:0104). Les paramètres du deuxième disque dur (s'il y en a un) se trouvent à l'adresse vectorielle INT 46h. Ces tableaux définissent certaines variables importantes pour les opérations sur le disque dur.

Tableau 6. Format du tableau du disque dur

BiaisLongueurContenu
00h2 Nombre de cylindres
02h1 Nombre de têtes
03h2 Non utilisé (toujours 0)
05h2 Numéro de cylindre de démarrage de précompensation
07h1 Longueur maximale du bloc ECC
08h1 Octet de contrôle :
bits 0-2 - non utilisés (toujours 0) ;
bit 3 - défini si le nombre de têtes est supérieur à 8 ;
bit 4 - non utilisé (toujours 0) ;
bit 5 - défini si le fabricant a placé une carte de défauts sur le cylindre avec le numéro « cylindre de travail maximum + 1 » ;
bit 6 - interdiction de revérification ECC ;
bit 7 - Contrôle ECC désactivé
09h1 Non utilisé (toujours 0)
0 Ah1 Non utilisé (toujours 0)
0Bh1 Non utilisé (toujours 0)
0Ch2 Numéro de cylindre de la zone de stationnement
0Eh1 Nombre de secteurs par piste
0Fh1 Réserve

Table d'allocation de fichiers (FAT)

La taille du fichier peut changer avec le temps. Si vous autorisez le stockage d'un fichier uniquement dans des secteurs adjacents, lorsque la taille du fichier augmente, le système d'exploitation doit le réécrire complètement dans une autre zone de taille appropriée (libre) du disque. Pour simplifier et accélérer l'opération d'ajout de nouvelles données à un fichier, les systèmes d'exploitation modernes utilisent des tables de distribution de fichiers (File Allocation Table, en abrégé FAT), qui permettent de stocker un fichier dans plusieurs sections non contiguës.

Lors de l'utilisation de FAT, la zone de données d'un lecteur logique est divisée en sections de taille égale - groupes. Un cluster peut être constitué d'un ou plusieurs secteurs situés séquentiellement sur un disque. Le nombre de secteurs dans un cluster doit être un multiple de 2 N et peut prendre des valeurs de 1 à 64 (la taille du cluster dépend du type de FAT utilisé et de la taille du disque logique).

Chaque cluster se voit attribuer son propre élément de table FAT. Les deux premiers éléments FAT sont réservés - s'il y a K clusters de données sur le disque, alors le nombre d'éléments FAT sera K+2. Le type FAT est déterminé par la valeur de K :

  1. si K<4085 - используется FAT12;
  2. si 4084>K<65525 - используется FAT16;
  3. si 65524> K - FAT32 est utilisé.

Le nom des types FAT vient de la taille de l'élément. Ainsi, un élément FAT12 a une taille de 12 bits, FAT16 - 16 bits, FAT32 - 32 bits. Veuillez noter que dans FAT32, les quatre bits binaires les plus significatifs sont réservés et ignorés pendant le fonctionnement du système d'exploitation (c'est-à-dire que seuls les sept bits hexadécimaux les moins significatifs de l'élément sont significatifs).

FAT est une liste chaînée que le système d'exploitation utilise pour suivre l'emplacement physique des données sur un disque et trouver de la mémoire libre pour les nouveaux fichiers.

Le répertoire des fichiers (table des matières) de chaque fichier contient le numéro de l'élément de départ dans la table FAT, correspondant au premier cluster de la chaîne de distribution des fichiers. L'élément FAT correspondant indique soit la fin de la chaîne, soit fait référence à l'élément suivant, etc. Exemple:

Ce diagramme illustre les concepts de base de FAT. Il en ressort clairement que :

  1. MYFILE.TXT occupe 10 clusters. Le premier cluster est le cluster 08, le dernier cluster est 1Bh. Chaîne de clusters - 08h, 09h, 0Ah, 0Bh, 15h, 16h, 17h, 19h, 1Ah, 1Bh. Chaque élément pointe vers l'élément suivant de la chaîne et le dernier élément contient un code spécial (voir tableau 7).
  2. Le cluster 18h est marqué comme défectueux et n'est pas inclus dans la chaîne de distribution.
  3. Les clusters 06h, 07h, 0Ch-14h et 1Ch-1Fh sont vides et disponibles à la distribution.
  4. Une autre chaîne commence par le cluster 02h et se termine par le cluster 05h. Pour connaître le nom du fichier, vous devez rechercher l'élément de table des matières avec le numéro de cluster de départ 02h.

Tableau 7. Valeurs des éléments FAT

FAT démarre généralement au secteur logique 1 de la partition DOS (c'est-à-dire qu'il peut être lu par INT 25h avec DX=1). En général, vous devez d'abord lire le root_sector (DX=0) et prendre le décalage 0Eh . Il indique combien de secteurs racine et de réserve se trouvent devant le FAT. Utilisez ensuite ce numéro (généralement 1) comme contenu de DX pour lire le FAT via INT 25h .

Il peut y avoir plusieurs copies de FAT. Généralement, deux copies identiques sont conservées. Dans ces cas, toutes les copies sont situées directement les unes à côté des autres.

Commentaire:

  • Selon une idée fausse courante, on pense que la FAT 16 bits ne permet pas au DOS de fonctionner avec des disques de plus de 32 Mo. En fait, la limitation est que INT 25h/26h ne peut pas fonctionner avec des numéros de SECTEUR supérieurs à 65535. Puisque la taille du secteur est généralement de 512 octets, soit un demi-kilo-octet, cela impose une limite de 32 mégaoctets. En revanche, rien ne vous empêche d'avoir des secteurs plus gros, donc théoriquement DOS peut fonctionner avec n'importe quel disque.
  1. Multipliez le numéro de cluster par 3.
  2. Si le numéro de l'élément est pair, ET le mot lu et le masque 0FFFh. Si le numéro de l'élément est impair, décalez la valeur vers la droite de 4 bits. En conséquence, vous obtiendrez la valeur souhaitée de l'élément FAT.

Voyons maintenant la procédure d'écriture d'un élément en FAT12.

  1. Multipliez le numéro de cluster par 3.
  2. Divisez le résultat par 2 (la longueur de l'élément est de 1,5 (3/2) octets).
  3. Lisez un mot de 16 bits depuis FAT en utilisant le résultat de l'opération précédente comme adresse.
  4. Si le numéro de l'élément est pair, effectuez une opération ET sur le mot lu et le masque 0F000h, puis une opération OU sur le résultat résultant et la valeur de l'élément écrit. Si le numéro de l'élément est impair, ET le mot lu et le masque 0F000h, alors décalez la valeur de 4 bits vers la gauche et OU le résultat de l'opération précédente.
  5. Écrivez le mot de 16 bits résultant dans FAT.

Commentaire:

  • Un élément de 12 bits peut traverser deux limites de secteur, alors soyez prudent si vous lisez un seul secteur FAT à la fois.
    Les éléments de 16 bits sont plus simples : chaque élément contient le décalage de 16 bits (à partir du début du FAT) de l'élément suivant de la chaîne.
    Éléments 32 bits - Chaque élément contient le décalage de 32 bits de l'élément suivant de la chaîne.

Dans les programmes en langage assembleur, l'algorithme shift-and-add est souvent utilisé à la place de l'instruction MUL pour effectuer une multiplication par 3 : le nombre d'origine est copié, la copie du nombre est décalée d'une place vers la gauche (en multipliant par 2), puis les deux nombres sont additionnés (x + 2x = 3x). Au lieu de la commande DIV, décalez d’un bit vers la droite.

L'élément FAT contient le numéro de cluster, mais lorsque vous travaillez avec des disques à un niveau bas, l'unité de données adressable est le secteur et non le cluster.

Une disquette (ou partition de disque dur) est structurée comme suit :

  1. secteurs racine et réserve;
  2. GRAISSE#1 ;
  3. GRAISSE #2 ;
  4. répertoire racine (n'existe pas en FAT32) ;
  5. zone de données.

Chaque section de cette structure a une longueur variable et pour convertir correctement le numéro de cluster en numéro de secteur, vous devez connaître la longueur de chacune de ces sections.

Pour obtenir le numéro de secteur de départ du cluster à partir du numéro de cluster ClustNum (lu à partir du champ correspondant dans l'entrée de répertoire ou la chaîne FAT), vous pouvez utiliser la fonction non documentée OS 32h, ou lire le secteur racine et appliquer les formules suivantes :

root_sectors = (RootSiz * 32) / 512 start_data = ResSecs + (FatSize * FatCnt) + root_sectors start_sector = start_data + ((ClustNum - 2) * ClustSiz) ,

où les valeurs des variables : RootSiz, ResSecs, FatSize, FatCnt, ClustSiz sont récupérées depuis le secteur racine ou depuis BPB.

Définissez DX=start_sector avant l’opération de lecture INT 25h ou d’écriture INT 26h.

Répertoires de fichiers

Le répertoire de fichiers est un tableau d'éléments de 32 octets - des descripteurs de fichiers. Du point de vue du système d'exploitation, tous les répertoires (à l'exception du répertoire racine dans les systèmes FAT12 et FAT16) ressemblent à des fichiers et peuvent contenir un nombre arbitraire d'entrées.

Le répertoire racine est le répertoire principal du disque à partir duquel commence l'arborescence des sous-répertoires. Pour le répertoire racine en FAT12 et FAT16, un espace spécial de taille fixe (16 Ko) est alloué dans la zone système du disque logique, conçu pour stocker 512 éléments. Dans un système FAT32, le répertoire racine est un fichier de n'importe quelle taille.

Tableau 8. Structure des articles du catalogue

BiaisLongueurContenu
00h11 Nom de fichier court
0Bh1 Attributs du fichier
0Сh1 *Réservé à Windows NT (doit contenir 0)
0Dh1 *Champ précisant l'heure de création du fichier (en dizaines de millisecondes).
La valeur du champ peut aller de 0 à 199
0Eh2 *Durée de création du fichier
10h2 *Date de création du fichier
12h2 *Date du dernier accès au fichier pour écrire ou lire des données
14h2 *Le mot de poids fort du numéro du premier cluster du fichier
16h2 Heure de la dernière opération d'écriture dans le fichier
18h2 Date de la dernière opération d'écriture dans le fichier
1Ah2 Mot faible du premier numéro de cluster du fichier
1Ch4 Taille du fichier en octets (nombre de 32 bits)

Le signe "*" signifie que le champ est traité uniquement dans le système de fichiers FAT32. Dans les systèmes FAT12 et FAT16, le champ est considéré comme réservé et contient la valeur 0.

Le nom de fichier court se compose de deux champs : un champ de 8 octets contenant le nom réel du fichier et un champ de 3 octets contenant l'extension. Si le nom de fichier saisi par l'utilisateur est inférieur à huit caractères, il est alors complété par des espaces (code espace - 20h), si l'extension saisie est inférieure à trois caractères, il est également complété par des espaces.

Certaines fonctions DOS nécessitent un octet d'attribut de fichier comme paramètre. Les bits de l'octet d'attribut sont mis à 1 si le fichier a la propriété correspondante :

  • bit 0 - lecture seule ;
  • bit 1 - caché ;
  • bit 2 - système ;
  • bit 3 - identifiant de volume ;
  • bit 4 - répertoire ;
  • bit 5 - archivé ;
  • les bits 6 et 7 sont réservés (mis à 0).

Le champ heure de création du fichier et le champ heure de la dernière opération d'écriture dans le fichier ont le format suivant :

15 9 8 5 4 0

Lors de la création de fichiers, les dates sont comptées à partir du début de l'ère MS-DOS, c'est-à-dire en date du 01/01/1980. Les bits 9 à 15 contiennent le numéro de l'année moins 1980 (valeurs valides de 0 à 127).

Noms de fichiers longs

À partir de Windows 95, un fichier peut se voir attribuer (en plus d'un nom court) un nom dit long. Pour stocker un nom long, des éléments de répertoire vides adjacents à l'élément principal - le descripteur de fichier - sont utilisés. La présence de un dans les bits 0 à 3 des octets d'attribut est le signe qu'un élément de répertoire libre est utilisé pour stocker une partie d'un nom de fichier long (cette combinaison n'est pas possible pour les descripteurs de fichier et de répertoire). Les noms de fichiers courts et longs sont uniques, c'est-à-dire ne doit pas apparaître deux fois dans le même répertoire.

Un nom long n'est pas écrit en caractères ASCII, mais au format Unicode, où chaque alphabet national possède un ensemble de codes correspondant. Le prix à payer pour l'universalité d'Unicode est une réduction de la densité de stockage des informations : chaque caractère occupe deux octets (mot de 16 bits). Dans les éléments de répertoire vides, le nom long est écrit découpé en morceaux (voir Tableau 9).

Tableau 9. Structure d'un élément de répertoire stockant un fragment d'un nom de fichier long

Le nom long est écrit dans le répertoire en premier, avec les fragments placés dans l'ordre inverse, en commençant par le dernier :

Tous les répertoires, à l'exception du répertoire racine, contiennent des liens spéciaux dans les deux premiers éléments au lieu de descripteurs de fichiers. L'élément n° 0 contient un pointeur vers le répertoire lui-même et le champ de nom contient un seul point ("."). L'élément n°1 contient un pointeur vers le répertoire parent et le champ de nom contient deux points (".."). Si la référence de table FAT pour l’élément n°1 a une valeur nulle, alors le répertoire actuel se trouve dans le répertoire racine.

Le bloc d'informations sur le disque est formé par la fonction UNDOCUMENTED DOS 32h.

Toutes les informations contenues ici peuvent être obtenues en lisant le secteur racine et en appelant un certain nombre d'autres fonctions du système d'exploitation avec quelques calculs, mais le bloc d'informations est utile dans la mesure où il contient toutes les données ensemble. C'est le seul appel qui renvoie l'adresse de l'en-tête du pilote de périphérique.

Tableau 10. Schéma fonctionnel des informations sur le disque

BiaisLongueurContenu
00h1 Numéro de disque (0=A, 1=B, etc.)
01h1 Numéro de sous-périphérique provenant de l'en-tête du périphérique (un pilote peut gérer plusieurs lecteurs)
02h2 Taille du secteur en octets
04h1 Nombre de secteurs par cluster -1 (max. secteur par cluster)
05h1 Déplacer un cluster vers un secteur (cluster = 2# secteurs) (secteurs par cluster en puissances de deux : 2 pour 4, 3 pour 8)
06h2 Nombre de secteurs de rechange (racine, début de section racine) (N du premier secteur FAT)
08h1 Nombre de tables FAT
09h2 Max. nombre d'éléments dans la table racine des matières
0Bh2 Numéro de secteur du cluster n°2 (1er cluster de données)
0Dh2 Total des clusters +2 (numéro de cluster le plus élevé)
0Fh1 Nombre de secteurs occupés par une FAT
10h2 Numéro de secteur du début de la table racine des matières
12h4 Adresse Device_header
16h1 octet media_descriptor
17h1 Indicateur d'accès : 0 si l'appareil a été accédé
18h4 Adresse du prochain bloc d'informations sur le disque
(0FFFFh si le bloc est le dernier)

Indicateurs binaires du mode d'ouverture :

  1. 0-2 : Traiter les droits d'accès sur le réseau
    000 - lecture ; 001 - enregistrement ; 010 - lire et écrire.
  2. 4-6 : Mode partagé :
    000 - mode de compatibilité
    001 = capture de fichier exclusive
    010 = refuser l'entrée
    011 = rejeter la lecture
    100 = ne rien rejeter
  3. 7 : Héritage :
    1 - le fichier est privé pour ce processus 0 - hérité par les processus enfants

Si l'octet de l'attribut du fichier indique une lecture seule, il remplace ces indicateurs.

Les autorisations réseau et les bits du mode de partage n'ont d'effet que lorsque le programme SHARE est installé.