Gestion des fichiers, types de fichiers, système de fichiers, attributs de fichiers. Qu'est-ce qu'un système de fichiers ? Quels types de systèmes de fichiers existent

Systèmes de fichiers. Types de systèmes de fichiers. Opérations sur les fichiers. Catalogues. Opérations avec des répertoires.

Déposer est une zone nommée de la mémoire externe dans laquelle on peut écrire et lire.

Principaux objectifs de l'utilisation du fichier.

    À long terme et stockage sécurisé information . La durabilité est obtenue grâce à l'utilisation de périphériques de stockage indépendants de l'énergie, et la haute fiabilité est déterminée par la protection de l'accès aux fichiers et l'organisation globale. code de programme Un système d'exploitation dans lequel les pannes matérielles ne détruisent le plus souvent pas les informations stockées dans les fichiers.

    Partager des informations . Les fichiers fournissent naturel et moyen facile séparation des informations entre les applications et les utilisateurs en raison de la présence d'un nom symbolique lisible par l'homme et de la constance des informations stockées et de l'emplacement des fichiers. L'utilisateur doit disposer d'outils pratiques pour travailler avec des fichiers, notamment des répertoires qui regroupent des fichiers en groupes, des outils de recherche de fichiers par caractéristiques, un ensemble de commandes pour créer, modifier et supprimer des fichiers. Un fichier peut être créé par un utilisateur puis utilisé par un utilisateur complètement différent, et le créateur ou l'administrateur du fichier peut déterminer les droits d'accès des autres utilisateurs. Ces objectifs sont implémentés dans le système d'exploitation par le système de fichiers.

Système de fichiers (FS) fait partie du système d'exploitation qui comprend :

    la collection de tous les fichiers sur le disque ;

    des ensembles de structures de données utilisées pour gérer les fichiers, telles que des répertoires de fichiers, des descripteurs de fichiers, des tables d'allocation d'espace disque libre et utilisé ;

    complexe de système logiciel, implémentant diverses opérations sur les fichiers, telles que la création, la destruction, la lecture, l'écriture, la dénomination et la recherche de fichiers.

Ainsi, système de fichiers joue le rôle d'une couche intermédiaire qui élimine toutes les complexités de l'organisation physique du stockage des données à long terme, crée un modèle logique plus simple de ce stockage pour les programmes, tout en leur fournissant un ensemble de fonctionnalités faciles à utiliser. commandes pour manipuler des fichiers.

Les systèmes de fichiers suivants sont largement connus :

    système de fichiers système opérateur MS - DOS , qui est basé sur Table d'allocation des fichiers - GRAISSE ( Déposer Allocation Tableau ).

Le tableau contient des informations sur l'emplacement de tous les fichiers (chaque fichier est divisé en groupes Les clusters d'un même fichier ne sont pas nécessairement situés les uns à côté des autres, selon la disponibilité de l'espace disque). Le système de fichiers MS-DOS présente des limitations et des inconvénients importants, par exemple sous Nom Le fichier dispose de 12 octets ; travailler avec un disque dur volumineux entraîne une fragmentation importante des fichiers ;

Les principales fonctions d'un tel FS visent à résoudre les tâches suivantes :

    dénomination des fichiers ;

    Interface de programmation d'applications;

    afficher modèle logique système de fichiers sur l'organisation physique du stockage des données ;

    Résilience du système de fichiers face aux pannes de courant, aux erreurs matérielles et logicielles.

    Système d'exploitation /2 , appelé HPFS ( Haut - Performance Déposer Système - système de fichiers rapide).

Offre la possibilité d'avoir un nom de fichier pouvant contenir jusqu'à 254 caractères. Les fichiers écrits sur le disque présentent une fragmentation minimale. Peut travailler avec des fichiers écrits sous MS DOS ;

Une nouvelle tâche est ajoutée aux tâches listées ci-dessus partager un fichier à partir de plusieurs processus. Le fichier dans ce cas est une ressource partagée, ce qui signifie que le système de fichiers doit résoudre toute la gamme des problèmes associés à ces ressources. En particulier, le FS doit prévoir des moyens pour bloquer un fichier et ses parties, empêcher les courses, éliminer les blocages, réconcilier les copies, etc.

Dans les systèmes multi-utilisateurs, une autre tâche apparaît : protéger les fichiers d'un utilisateur contre tout accès non autorisé par un autre utilisateur.

    système de fichiers du système d'exploitation les fenêtres 95

Il possède une structure de niveaux qui vous permet de prendre en charge plusieurs systèmes de fichiers simultanément. L'ancien système de fichiers MS-DOS est directement pris en charge, et les systèmes de fichiers non développés par l'entreprise Microsoft, sont pris en charge à l'aide de modules. Il est possible d'utiliser des noms de fichiers longs (jusqu'à 254 caractères).

    systèmes de fichiers du système d'exploitation Unix

Ils fournissent un moyen unifié d’accéder aux systèmes de fichiers d’E/S.

Les autorisations de fichiers déterminent pratiquement les droits d'accès au système (le propriétaire du fichier est l'utilisateur qui l'a créé).

Types de fichier

Les systèmes de fichiers prennent en charge plusieurs fonctionnalités divers types fichiers, qui incluent généralement des fichiers normaux, des fichiers de répertoire, des fichiers spéciaux, des canaux nommés, des fichiers mappés en mémoire et autres.

Fichiers réguliers , ou simplement des fichiers, contiennent des informations arbitraires qui y sont saisies par l'utilisateur ou qui sont générées à la suite du fonctionnement des programmes système et utilisateur. La plupart des systèmes d'exploitation modernes (par exemple, UNIX, Windows, OS/2) ne restreignent ni ne contrôlent en aucune façon le contenu et la structure d'un fichier standard. Le contenu d'un fichier standard est déterminé par l'application qui l'utilise. Par exemple, éditeur de texte crée des fichiers texte constitués de chaînes de caractères représentées dans du code. Il peut s'agir de documents, de codes sources de programmes, etc. Les fichiers texte peuvent être lus à l'écran et imprimés sur une imprimante. Les fichiers binaires n'utilisent pas de codes de caractères ; ils ont souvent des structures internes complexes, telles que du code de programme exécutable ou fichier d'archive. Tous les systèmes d'exploitation doivent être capables de reconnaître au moins un type de fichier : leurs propres fichiers exécutables.

Catalogues - il s'agit d'un type spécial de fichiers qui contiennent des informations de référence système sur un ensemble de fichiers regroupés par utilisateurs selon un critère informel (par exemple, des fichiers contenant des documents du même contrat, ou des fichiers qui composent un progiciel sont combinés en un seul groupe). Sur de nombreux systèmes d'exploitation, un répertoire peut contenir tout type de fichier, y compris d'autres répertoires, créant ainsi une arborescence facile à rechercher. Les répertoires établissent un mappage entre les noms de fichiers et les caractéristiques des fichiers utilisés par le système de fichiers pour gérer les fichiers. De telles caractéristiques incluent notamment des informations (ou un pointeur vers une autre structure contenant ces données) sur le type de fichier et son emplacement sur le disque, les droits d'accès au fichier et les dates de sa création et de sa modification. À tous autres égards, les répertoires sont traités par le système de fichiers comme des fichiers normaux.

Fichiers spéciaux - Il s'agit de fichiers factices associés aux périphériques d'E/S, qui sont utilisés pour unifier le mécanisme d'accès aux fichiers et aux périphériques externes. Les fichiers spéciaux permettent à l'utilisateur d'effectuer des opérations d'E/S à l'aide de commandes normales pour écrire dans un fichier ou lire à partir d'un fichier. Ces commandes sont d'abord traitées par les programmes du système de fichiers, puis, à un certain stade de l'exécution de la requête, elles sont converties par le système d'exploitation en commandes de contrôle pour le périphérique correspondant.

Les systèmes de fichiers modernes prennent en charge d'autres types de fichiers, tels que les liens symboliques, les canaux nommés et les fichiers mappés en mémoire.

Structure hiérarchique du système de fichiers

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 rendant le répertoire plus niveau faible peut être inclus dans un répertoire de niveau supérieur (Fig. 7.3).

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. 7.3, b), et un réseau - si le fichier peut être inclus dans plusieurs répertoires à la fois (Fig. 7.3, 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. Catalogue lui-même haut niveau appelé répertoire racine, ou racine ( 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 structure hiérarchique est une organisation à un seul niveau, lorsque tous les fichiers sont inclus dans un seul répertoire (Fig. 7.3, 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 populaire, 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 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.

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, le nom 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 noms simples séparés les uns des autres par le séparateur adopté dans l'OS. 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. 7.3, 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 ayant une structure en réseau, un fichier peut être inclus dans plusieurs répertoires, et donc 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 le fichier par la chaîne de noms de répertoires à travers laquelle l'itinéraire depuis le répertoire actuel vers ce fichier. 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 la relation « un fichier - un nom unique » soit valide. 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 de ceci nom unique file est le numéro d'inode sur un système UNIX.

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 - Il s'agit d'informations décrivant les propriétés du fichier. Exemples d'attributs de fichier possibles :

    Type de fichier ( fichier régulier, 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 ;

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

    taille actuelle du fichier ;

    taille maximale du fichier ;

    signe en lecture seule ;

    signe " fichier caché»;

    signez « fichier système » ;

    signer « fichier d'archive » ;

    attribut « binaire/caractère » ;

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

    panneau de blocage ;

    longueur de l'enregistrement du fichier ;

    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. 7.6a). 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. 7.6. Structure du répertoire : a - Structure des entrées de répertoire MS-DOS (32 octets), b - Structure des entrées de répertoire UNIX OS

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. L'enregistrement de 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. 7.6, 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.

Opérations sur les fichiers

La plupart des systèmes d'exploitation modernes traitent un fichier comme une séquence non structurée d'octets de longueur variable. Standard POIX Les opérations suivantes sont définies sur le fichier :

    int ouvrir ( carboniser * nom de famille , int drapeaux , mode _ t mode )

Cette opération « ouvre » un fichier, établissant une connexion entre le programme et le fichier. Dans ce cas, le programme reçoit descripteur de fichier- un entier identifiant cette connexion. En fait, il s'agit d'un index dans la table système des fichiers ouverts pour une tâche donnée. Toutes les autres opérations utilisent cet index pour référencer le fichier.

Le paramètre char * fname spécifie le nom du fichier. int flags est un masque de bits qui détermine le mode d'ouverture du fichier. Le fichier peut être ouvert en lecture seule, en écriture seule ou en lecture-écriture ; de plus, vous pouvez ouvrir un fichier existant ou essayer de créer nouveau fichier longueur nulle. Le troisième mode de paramètre facultatif est utilisé uniquement lors de la création d'un fichier et spécifie les attributs de ce fichier.

    désactivé _ t je cherche ( int poignée , désactivé _ t compenser , int d'où )

Cette opération déplace le pointeur de lecture/écriture dans le fichier. Le paramètre offset spécifie le nombre d'octets par lequel décaler le pointeur, et le paramètre whence spécifie l'endroit à partir duquel commencer le décalage. On suppose que le décalage peut être compté à partir du début du fichier (SEEK_SET), depuis sa fin (SEEK_END) et depuis la position actuelle du pointeur (SEEK_CUR). L'opération renvoie la position du pointeur mesurée depuis le début du fichier. Ainsi, appeler lseek(handle, 0, SEEK_CUR) renverra la position actuelle du pointeur sans le déplacer.

    int read (int handle, char * où, size_t how_much)

Opération de lecture à partir d'un fichier. Le pointeur Where spécifie le tampon dans lequel les données lues doivent être placées ; le troisième paramètre spécifie la quantité de données à lire. Le système lit le nombre requis d'octets dans le fichier, en commençant au pointeur de lecture/écriture vers ce fichier, et déplace le pointeur vers la fin de la séquence de lecture. Si le fichier se termine plus tôt, autant de données sont lues qu'il en restait jusqu'à sa fin. L'opération renvoie le nombre d'octets lus. Si le fichier a été ouvert en écriture uniquement, l’appel de read renverra une erreur.

    int write (int handle, char * quoi, size_t how_much)

Une opération d'écriture dans un fichier. Le pointeur What spécifie le début du tampon de données ; le troisième paramètre spécifie la quantité de données à écrire. Le système écrit le nombre d'octets requis dans le fichier, en commençant au pointeur de lecture/écriture vers ce fichier, en remplaçant les données stockées à ce niveau. emplacement et en déplaçant le pointeur vers la fin du bloc écrit. Si le fichier se termine plus tôt, sa longueur augmente. L'opération renvoie le nombre d'octets écrits.

Si le fichier a été ouvert en lecture seule, l’appel de write renverra une erreur.

    int ioctl (int handle, int cmd, ...) ; int fcntl ( int poignée , int cmd , ...)

Opérations supplémentaires sur le fichier. Initialement, il semble que ioctl était destiné à être une opération sur le fichier lui-même, et fcntl était une opération sur un descripteur de fichier ouvert, mais les développements historiques ont ensuite quelque peu mélangé les fonctions de ces appels système. Standard POIX définit certaines opérations à la fois sur le handle, par exemple la duplication (à la suite de cette opération, nous obtenons deux handles associés au même fichier), et sur le fichier lui-même, par exemple, l'opération de troncature - coupe le fichier à une longueur donnée. Dans la plupart des versions Unix L'opération de troncature peut également être utilisée pour couper des données au milieu d'un fichier. Lors de la lecture de données à partir d'une telle zone découpée, des zéros sont lus et cette zone elle-même n'occupe pas emplacement physique sur disque.

Une opération importante consiste à bloquer des sections du fichier.Standard POIX propose une fonction de bibliothèque à cet effet, mais dans les systèmes de la famille Unix Cette fonction est implémentée via l'appel fcntl.

La plupart des implémentations de la norme POIX propose ses propres opérations supplémentaires. Alors, dans Unix RVS4 Avec ces opérations, vous pouvez définir un enregistrement synchrone ou différé, etc.

    caddr_t mmap (caddr_t addr, size_t len, int prot, int flags, int handle, off_t offset)

Mappage d'une section d'un fichier dans l'espace d'adressage virtuel du processus.Le paramètre prot spécifie les droits d'accès à la section mappée : lecture, écriture et exécution. Le mappage peut se produire vers une adresse virtuelle spécifiée, ou le système peut sélectionner l'adresse à mapper lui-même.

Deux autres opérations sont effectuées non pas sur le fichier, mais sur son nom : ce sont les opérations de renommage et de suppression du fichier. Dans certains systèmes, par exemple dans les systèmes de la famille Unix, un fichier peut avoir plusieurs noms et il n'y a qu'un appel système pour supprimer un nom. Le fichier est supprimé lorsque le nom de famille est supprimé.

On voit que l'ensemble des opérations sur un fichier dans cette norme est très similaire à l'ensemble des opérations sur dispositif externe. Les deux sont considérés comme un flux d’octets non structuré. Pour compléter le tableau, il faut dire que les principaux moyens de communication interprocessus dans les systèmes de la famille Unix (tuyau) est également un flux de données non structuré. L’idée selon laquelle la plupart des transferts de données peuvent être réduits à un flux d’octets est assez ancienne, mais Unix fut l'un des premiers systèmes où cette idée fut amenée à sa conclusion logique.

Environ le même modèle de travail avec des fichiers est adopté dans C.P./ M, et un ensemble de fichiers appels système MS-DOS effectivement copié à partir des appels Unix v7 . À son tour, Système d'exploitation/2 Et Windows NT a hérité des principes de travail avec des fichiers directement de MS-DOS.

Au contraire, dans les systèmes sans Unix dans un pedigree, une interprétation légèrement différente du concept de fichier peut être utilisée. Le plus souvent, un fichier est traité comme un ensemble d'enregistrements. En règle générale, le système prend en charge les enregistrements de longueur constante et variable. Par exemple, un fichier texte est interprété comme un fichier contenant des enregistrements de longueur variable, et chaque ligne de texte correspond à un enregistrement. C'est le modèle pour travailler avec des fichiers dans VMS et dans la ligne OS Système d'exploitation/360 -MVS Société IBM.

Tôt ou tard, un utilisateur d'ordinateur novice est confronté à un concept tel qu'un système de fichiers (FS). En règle générale, la première connaissance de ce terme a lieu lors du formatage d'un support de stockage : lecteurs logiques et supports connectés (lecteurs flash, cartes mémoire, externe dur disque).

Avant le formatage, le système d'exploitation Windows vous invite à sélectionner le type de système de fichiers sur le support, la taille du cluster et la méthode de formatage (rapide ou complet). Voyons ce qu'est un système de fichiers et pourquoi est-il nécessaire ?

Toutes les informations sont enregistrées sur le support sous une forme qui doit être située dans un certain ordre, sinon le système d'exploitation et les programmes ne pourront pas fonctionner avec les données. Cet ordre est organisé par le système de fichiers à l'aide de certains algorithmes et règles de placement des fichiers sur le support.

Lorsqu'un programme a besoin d'un fichier stocké sur disque, il n'a pas besoin de savoir comment ni où il est stocké. Il suffit au programme de connaître le nom du fichier, sa taille et ses attributs afin de transférer ces données vers le système de fichiers, qui donnera accès à le fichier requis. La même chose se produit lors de l'écriture de données sur un support : le programme transfère les informations sur le fichier (nom, taille, attributs) au système de fichiers, qui les enregistre selon ses propres règles spécifiques.

Pour mieux comprendre, imaginez un bibliothécaire donnant un livre à un client en fonction de son titre. Ou dans l'ordre inverse : le client rend le livre qu'il a lu au bibliothécaire qui le remet en réserve. Le client n'a pas besoin de savoir où et comment le livre est conservé, cela relève de la responsabilité de l'employé de l'établissement. Le bibliothécaire connaît les règles du catalogage en bibliothèque et, selon ces règles, recherche la publication ou la replace, c'est-à-dire exerce ses fonctions officielles. DANS dans cet exemple une bibliothèque est un support de stockage, un bibliothécaire est un système de fichiers, un client est un programme.

Fonctions de base du système de fichiers

Les principales fonctions du système de fichiers sont :

  • placement et organisation sur un support de stockage dans sous forme de fichiers;
  • déterminer la quantité maximale de données prise en charge sur le support de stockage ;
  • créer, lire et supprimer des fichiers ;
  • attribuer et modifier les attributs du fichier (taille, heure de création et de modification, propriétaire et créateur du fichier, lecture seule, fichier caché, fichier temporaire, archivé, exécutable, longueur maximale nom du fichier, etc.);
  • déterminer la structure du fichier ;
  • organisation de répertoires pour une organisation logique des fichiers ;
  • protection des fichiers en cas de panne du système ;
  • protéger les fichiers contre tout accès non autorisé et modifier leur contenu.

Les informations enregistrées sur un disque dur ou tout autre support y sont placées selon une organisation en cluster. Un cluster est une sorte de cellule d'une certaine taille dans laquelle s'inscrit l'intégralité ou une partie du fichier.

Si le fichier est de taille cluster, il n’occupe qu’un seul cluster. Si la taille du fichier dépasse la taille de la cellule, il est alors placé dans plusieurs cellules du cluster. De plus, les clusters libres ne peuvent pas être situés les uns à côté des autres, mais peuvent être dispersés sur la surface physique du disque. Ce système vous permet d'utiliser l'espace le plus efficacement possible lors du stockage de fichiers. La tâche du système de fichiers est de distribuer de manière optimale le fichier lors de l'écriture dans des clusters libres, ainsi que de l'assembler lors de la lecture et de le transmettre au programme ou au système d'exploitation.

Types de systèmes de fichiers

Dans le processus d'évolution des ordinateurs, des supports de stockage et des systèmes d'exploitation, un grand nombre de systèmes de fichiers. Dans le processus d'une telle sélection évolutive, aujourd'hui pour travailler avec des disques durs et des périphériques de stockage externes (lecteurs flash, cartes mémoire, Disques durs externes, CD), les types de FS suivants sont principalement utilisés :

  1. FAT32
  2. ISO9660

Les deux derniers systèmes sont conçus pour fonctionner avec des CD. Les systèmes de fichiers Ext3 et Ext4 fonctionnent avec des systèmes d'exploitation basés sur Basé sur Linux. NFS Plus est un système de fichiers pour les systèmes d'exploitation OS X utilisés sur les ordinateurs Apple.

Les systèmes de fichiers les plus utilisés sont NTFS et FAT32, et ce n'est pas surprenant, car... ils sont conçus pour les systèmes d'exploitation Windows, qui exécutent la grande majorité des ordinateurs dans le monde.

Aujourd'hui, FAT32 est activement remplacé par le système NTFS plus avancé en raison de sa plus grande fiabilité en matière de sécurité et de protection des données. En plus dernières versions Le système d'exploitation Windows ne se permettra tout simplement pas d'être installé si section difficile Le disque sera formaté en FAT32. Le programme d'installation vous demandera de formater la partition en NTFS.

Déposer Système NTFS prend en charge le travail avec des disques d'une capacité de centaines de téraoctets et d'une taille de fichier unique allant jusqu'à 16 téraoctets.

Le système de fichiers FAT32 prend en charge des disques jusqu'à 8 téraoctets et une taille de fichier unique jusqu'à 4 Go. Le plus souvent, ce FS est utilisé sur des lecteurs flash et des cartes mémoire. C'est en FAT32 qu'ils formatent disques externesà l'usine.

Cependant, la limitation de la taille des fichiers à 4 Go est déjà un gros inconvénient aujourd'hui, car... En raison de la distribution de vidéos de haute qualité, la taille du fichier du film dépassera cette limite et il ne sera pas possible de l'enregistrer sur le support.

Partager.

Souvent, un utilisateur d'ordinateur doit formater un support de stockage. La boîte de dialogue du système d'exploitation Windows vous invite à sélectionner le système de fichiers et la méthode de formatage (rapide ou profond), vous pouvez également définir la taille du cluster, mais tous les utilisateurs n'effectuent pas cette opération, car ils ne comprennent pas quelle taille particulière est nécessaire. pour. Certains peuvent également se demander : qu’est-ce qu’un système de fichiers ? pourquoi est-ce? Quelles sont les différences entre l’un et l’autre ?

Un système de fichiers est un ensemble de conditions et de règles qui déterminent la manière dont les fichiers sont organisés sur un support de stockage. Les principales fonctions des systèmes de fichiers sont les suivantes :
localisation des informations sur le disque sous forme de fichiers,
attribuer des noms et des attributs aux fichiers,
supprimer des informations à la demande de l'utilisateur,
protection des informations contre la suppression en cas de pannes et d'accès non autorisé aux données.

Les programmes exécutés sur un ordinateur ne savent pas ce qu'est un système de fichiers et comment l'utiliser, ni où chercher un fichier particulier. L'interaction entre les programmes et le FS est assurée par les pilotes du système de fichiers. Avec leur aide, les noms des fichiers demandés sont comparés à la liste des secteurs de disque occupés, après quoi le pilote de disque reçoit l'ordre de lire les données de certains secteurs.

Types de systèmes de fichiers
À mesure que les systèmes d'exploitation et les périphériques de stockage évoluaient, de nombreux systèmes de fichiers ont été créés. Aujourd'hui, pour travailler avec disques durs et les lecteurs flash, les éléments suivants sont souvent utilisés :
FAT32. La taille de disque maximale prise en charge est de 8 To. Le système de fichiers fonctionne avec des fichiers ne dépassant pas 4 Go.
NTFS. La taille de disque maximale prise en charge est de 16 Mo (exaoctet). Prend en charge le travail avec des fichiers d'une taille maximale de 16 To.
Ext3, ext4. Utilisé dans les salles d'opération Systèmes Linux. Taille maximum Le volume est de 32 To pour ext3 et 1 EB pour ext4. Prend en charge le travail avec des fichiers jusqu'à 2 et 16 To, respectivement.
HFS Plus. Utilisé sur les systèmes OS X. La taille maximale du volume est de 8 Mo, la taille de fichier maximale prise en charge est également de 8 Mo.

Travailler avec disques laser sont utilisés:
ISO9660. La taille maximale du fichier est de 2 Go.
FDU. La taille maximale du fichier est de 1 Mo.

Caractéristiques de FAT32 et NTFS
Les systèmes de fichiers les plus couramment utilisés sont FAT32 et NTFS en raison de l'utilisation généralisée du système d'exploitation Windows. Pour l'utilisateur moyen, la manière dont l'un ou l'autre système de fichiers est conçu et fonctionne n'a pas d'importance ; pour lui, dans le contexte d'un usage domestique, le volume maximum pris en charge et la taille des fichiers peuvent être importants. Dans ces paramètres, FAT32 est inférieur à NTFS, comme indiqué ci-dessus. De plus, lors de l'utilisation de FAT32, une perte de données peut survenir si le flux est désactivé. fourniture électrique sur le disque (le système de fichiers lui-même reste souvent intact).

Distribution des informations sur le disque
Les données enregistrées sur les supports de stockage sont placées dans ce que l'on appelle des clusters. Ce sont des cellules créées par une union virtuelle de secteurs d'un disque dur ou de cellules mémoire d'un support de stockage non magnétique. La taille du cluster dépend de la valeur définie lors du formatage. Il est optimal de définir la taille des cellules en fonction des tailles des fichiers les plus fréquemment utilisés : taille plus grande cluster, plus les fichiers volumineux seront lus rapidement et vice versa. La particularité de l'enregistrement des données est qu'un seul fichier ou une partie de celui-ci peut être placé dans un cluster ; un fichier de 1 octet rendra un cluster de 256 octets indisponible pour écrire d'autres informations.

Le système de fichiers doit être sélectionné en fonction des objectifs et des conditions d'utilisation du support. Ainsi, malgré les inconvénients par rapport à NTFS, le système de fichiers FAT32 peut être utilisé avec succès dans les partitions Efi sur les ordinateurs modernes.

Le système de fichiers est le système utilisé par le système d'exploitation Windows. Il est nécessaire pour organiser et stocker des données sur n’importe quel disque. C'est elle qui se charge de stocker les données sur le disque dur. Voyons ce qu'est un système de fichiers et quels types de tels systèmes existent.

Pourquoi avons-nous besoin d’un système de fichiers ?

Vous pouvez comprendre quel système de fichiers est utilisé sur votre ordinateur en accédant au dossier appelé « Poste de travail ». Ensuite, vous devez cliquer clic-droit souris et sélectionnez « Propriétés ». Dans la fenêtre d'information qui apparaît, vous pouvez lire l'inscription suivante : Système de fichiers : (nom).

Il n'est pas du tout nécessaire que chaque disque ait le même système de fichiers. Pour le savoir, il faut regarder chaque disque.

Exactement de le bon choix système de fichiers et dépendra de la sécurité de votre ordinateur personnel, et le système d'exploitation ne plantera pas et ne perdra pas de données. Voyons quels systèmes de fichiers peuvent être trouvés dans Windows.

Types de systèmes de fichiers

GRAISSE

La première chose que nous examinerons est un système de fichiers appelé FAT. Aujourd'hui, c'est extrêmement rare, il ne vaut donc pas la peine de s'y attarder en détail. Son plus gros inconvénient est volume maximum disque, qui ne fait que 2 Go, ce qui n'est pratiquement jamais trouvé dans le matériel moderne. Ainsi, si votre disque a une plus grande capacité, il cesse de fonctionner. Il y a quelques années, 2 Go était la capacité standard d'un disque dur, et ce système de fichiers y était parfaitement utilisé. Mais aujourd’hui, il a perdu son utilité et a pris une place honorable dans les poubelles de l’histoire.

Le système de fichiers suivant est le fameux FAT 32. 32 est la taille en bits du système. Cette version est une version mise à jour du système de fichiers précédent. Si vous utilisez plus première version Windows, vous pourriez alors rencontrer des problèmes lors du formatage du disque. Cependant, ce système est beaucoup plus stable que son prédécesseur et le travail avec les fichiers se déroulera beaucoup plus rapidement.

NTFS

Voyons maintenant ce qu'est le système de fichiers NTFS. Ce système le stockage de fichiers est apparu relativement récemment et est plus moderne que les deux précédents. Cependant, malgré les nombreux avantages, cela n’est pas sans inconvénients. La plupart des CD produits aujourd'hui entreprises commerciales, disposez d'un tel système de fichiers. Il stocke bien mieux les données, mais est assez gourmand en ressources de votre ordinateur.

De plus, dans le cas où lecteur logique Il a pleine chargeà 90 pour cent, les performances du système de fichiers chutent fortement. De plus, si le système d'exploitation est plus ancien que Windows XP, un tel système de fichiers refusera tout simplement de fonctionner dessus. Une fois que vous avez inséré un disque dans le lecteur, votre ordinateur ne pourra tout simplement pas le reconnaître ou sera marqué comme partition inconnue. Parlant des avantages, on peut noter que le travail d'un tel système de fichiers avec de petits fichiers est beaucoup plus rapide et de meilleure qualité. La plupart grande taille, qu'un disque peut avoir est de 18 To. Il existe également une fragmentation de fichiers. Avec cela, le système de fichiers ne ralentira pas, mais continuera à fonctionner mode normal. De plus, lorsque vous utilisez NTFS, vous pouvez être totalement sûr qu'aucune corruption de fichier ne se produira. Le système utilise l'espace disque de manière très économique et vous permet de compresser des fichiers taille minimale, sans les gâcher du tout. D'ailleurs, c'est grâce à ce système qu'il est devenu possible de restaurer les données en cas de perte. En conséquence, si l'on compare ce système avec FAT, alors tous les avantages sont évidents. La chose la plus importante qu’il puisse vous offrir est la sécurité.

FDU

Il est maintenant temps d'examiner ce qu'est le système de fichiers UDF. Il s'agit d'un système de fichiers indépendant du système d'exploitation de l'ordinateur et utilisé pour sauvegarder les données stockées sur un support optique. Contrairement à systèmes précédents,UDF vous permet en outre d'écrire des informations sur une disquette déjà pleine. En outre, ce système de fichiers peut effacer sélectivement certains fichiers sur le disque sans endommager d'autres informations. Les métadonnées telles que le territoire racine sont situées de manière chaotique à l'intérieur du disque, mais la base de ces données a trois emplacements : les secteurs 256, 257 et N-1, dans ce cas N est la taille de la piste.

Pour les trajets en Format DVD, UDF est le système de fichiers le plus performant car il n'a absolument aucune restriction sur la taille des fichiers. Vous pouvez enregistrer des vidéos grandes et petites.

C'est grâce à UDF que nous avons appris ce qu'est le système de fichiers final et comment le choisir correctement pour votre ordinateur.

L'un des composants du système d'exploitation est le système de fichiers - le stockage principal du système et informations de l'utilisateur. Tous les systèmes d'exploitation modernes fonctionnent avec un ou plusieurs systèmes de fichiers, par exemple FAT (File Allocation Table), NTFS (NT File System), HPFS (High Performance File System), NFS (Network File System), AFS (Andrew File System). , Système de fichiers Internet.

Un système de fichiers est une partie du système d'exploitation dont le but est de fournir à l'utilisateur interface conviviale lorsque vous travaillez avec des données stockées dans mémoire externe, et fournissent partage fichiers par plusieurs utilisateurs et processus.

Au sens large, la notion de « système de fichiers » comprend :

La collection de tous les fichiers sur le disque ;

Ensembles de structures de données utilisées pour gérer les fichiers, telles que les répertoires de fichiers, les descripteurs de fichiers, les tables d'allocation d'espace disque libre et utilisé ;

Ensemble d'outils logiciels système qui mettent en œuvre la gestion des fichiers, notamment : création, destruction, lecture, écriture, dénomination, recherche et autres opérations sur les fichiers.

Le système de fichiers est généralement utilisé à la fois lors du chargement du système d'exploitation après la mise sous tension de l'ordinateur et pendant le fonctionnement. Le système de fichiers remplit les fonctions principales suivantes :

Définit moyens possibles organiser les fichiers et la structure des fichiers sur les supports ;

Implémente des méthodes pour accéder au contenu des fichiers et fournit des outils pour travailler avec des fichiers et structure du fichier. Dans ce cas, l'accès aux données peut être organisé par le système de fichiers à la fois par nom et par adresse (numéro de secteur, surface et trace du support) ;

Des pistes espace libre sur les médias.

Quand programme d'application accède au fichier, il n'a aucune idée de la manière dont les informations se trouvent dans fichier spécifique, ainsi que sur quel type de support physique (CD, disque dur ou unité de mémoire flash) il est enregistré. Tout ce que le programme connaît, c'est le nom du fichier, sa taille et ses attributs. Il reçoit ces données du pilote du système de fichiers. C'est le système de fichiers qui détermine où et comment le fichier sera écrit. support physique(par exemple, un disque dur).

Du point de vue du système d'exploitation, le disque entier est un ensemble de clusters (zones de mémoire) dont la taille varie de 512 octets ou plus. Les pilotes du système de fichiers organisent les clusters en fichiers et répertoires (qui sont en fait des fichiers contenant une liste de fichiers dans ce répertoire). Ces mêmes pilotes gardent une trace des clusters actuellement utilisés, de ceux qui sont libres et de ceux marqués comme défectueux. Pour comprendre clairement comment les données sont stockées sur les disques et comment le système d'exploitation y donne accès, il est nécessaire de comprendre, au moins en termes généraux, la structure logique du disque.


3.1.5 Structure logique du disque

Pour qu'un ordinateur puisse stocker, lire et écrire informations concrètes Le disque doit d'abord être partitionné. Des partitions y sont créées à l'aide de programmes appropriés - c'est ce qu'on appelle le « partitionnement du disque dur ». Sans ce partitionnement, il ne sera pas possible d'installer le système d'exploitation sur le disque dur (bien que Windows XP et 2000 puissent être installés sur un disque non partitionné, ils effectuent eux-mêmes ce partitionnement lors du processus d'installation).

Disque dur peut être divisé en plusieurs sections, dont chacune sera utilisée indépendamment. À quoi ça sert? Un disque peut contenir plusieurs systèmes d'exploitation différents situés sur différentes partitions. La structure interne d'une partition allouée à n'importe quel système d'exploitation est entièrement déterminée par ce système d'exploitation.

De plus, il existe d'autres raisons de partitionner un disque, par exemple :

Possibilité d'utiliser des disques d'une capacité supérieure à MS DOS
32 Mo ;

Si un disque est endommagé, seules les informations qui se trouvaient sur ce disque sont perdues ;

Réorganisation et éjection du disque petite taille plus facile et plus rapide que le grand ;

Chaque utilisateur peut se voir attribuer son propre lecteur logique.

L'opération de préparation d'un disque à l'utilisation est appelée mise en page, ou initialisation. Tout est disponible espace disque est divisé en côtés, pistes et secteurs, les pistes et côtés étant numérotés à partir de zéro et les secteurs à partir de un. La collection de pistes située sur même distanceà partir de l'axe du disque ou du paquet de disques est appelé un cylindre. Ainsi, l'adresse physique du secteur est déterminée par les coordonnées suivantes : numéro de piste (cylindre - C), numéro de côté disque (tête - H), numéro de secteur - R, c'est-à-dire CHR.

Dans le tout premier secteur disque dur(C=0, H=0, R=1) contient l'enregistrement de démarrage principal Enregistrement de démarrage principal. Cette entrée n'occupe pas tout le secteur, mais seulement sa partie initiale. Le Master Boot Record est un programme de chargeur de démarrage non système.

A la fin du premier secteur dur le disque contient la table de partition du disque - Table de partition. Ce tableau contient quatre lignes décrivant un maximum de quatre partitions. Chaque ligne du tableau décrit une section :

1) section active ou non ;

2) le numéro du secteur correspondant au début de la section ;

3) le numéro du secteur correspondant à la fin du tronçon ;

4) taille de partition en secteurs ;

5) code du système d'exploitation, c'est-à-dire À quel système d'exploitation appartient cette partition ?

Une partition est dite active si elle contient le programme de démarrage du système d'exploitation. Le premier octet de l'élément de section est l'indicateur d'activité de section (0 – inactif, 128 (80H) – actif). Il est utilisé pour déterminer si la partition est système (amorçable) et si le système d'exploitation doit être chargé à partir de celle-ci au démarrage de l'ordinateur. Une seule section peut être active. Petits programmes, appelés gestionnaires de démarrage, peuvent être situés dans les premiers secteurs du disque. Ils demandent de manière interactive à l'utilisateur à partir de quelle partition démarrer et ajustent les indicateurs d'activité de la partition en conséquence. Étant donné que la table de partition comporte quatre lignes, il peut y avoir jusqu'à quatre systèmes d'exploitation différents sur le disque. Le disque peut donc contenir plusieurs partitions principales appartenant à différents systèmes d'exploitation.

Un exemple de structure logique d'un disque dur composé de trois partitions, dont deux appartiennent à DOS et une à UNIX, est présenté dans la figure 3.2a.

Chaque section active a son propre entrée de démarrage– un programme qui charge ce système d'exploitation.

En pratique, le disque est le plus souvent divisé en deux partitions. Les tailles des partitions, qu'elles soient déclarées actives ou non, sont définies par l'utilisateur au cours du processus s'entraîner dur disque pour fonctionner. Cela se fait en utilisant programmes spéciaux. Sous DOS, ce programme s'appelle FDISK, dans les versions Windows-XX, il s'appelle Diskadministrator.

Sous DOS, la partition principale est Partition primaire, c'est la section qui contient le chargeur du système d'exploitation et le système d'exploitation lui-même. Ainsi, la partition principale est la partition active, utilisée comme lecteur logique nommé C:.

système opérateur WINDOWS (à savoir WINDOWS 2000) a changé la terminologie : la partition active est appelée la partition système, et la partition de démarrage est le disque logique qui contient fichiers système LES FENÊTRES. Le lecteur logique de démarrage peut être le même que partition système, mais peut se trouver sur une partition différente du même disque dur ou sur un disque dur différent.

Section avancée Partition étendue peut être divisé en plusieurs disques logiques portant des noms de D : à Z :.

La figure 3.2b montre la structure logique d'un disque dur, qui ne comporte que deux partitions et quatre lecteurs logiques.