Fichiers et système de fichiers. Gestion de fichiers, types de fichiers, système de fichiers, attributs de fichier

Une des tâches principales système opérateur est la fourniture de commodités à l'utilisateur lorsque vous travaillez avec des données stockées sur des disques. Pour cela, OS remplace la structure physique des données stockées par un modèle logique convivial. Le modèle logique du système de fichiers est matérialisé sous forme d'arborescence de répertoires, dans les noms de fichiers composites de caractères, dans les commandes de travail de fichier. L'élément de base de ce modèle est le fichier, ce qui est ainsi que système de fichiers En général, il peut être caractérisé par une structure logique et physique.

Le fichier est une zone de mémoire externe nommée dans laquelle vous pouvez écrire et à partir de laquelle vous pouvez lire les données. Les fichiers sont stockés dans la mémoire indépendante. Cependant, il existe des exceptions et l'une d'entre elles est "Disque électronique", structure dans mémoire viveSimulant fs.

Utilisation du fichier de base:

À long terme I. stockage fiable informations. Un long terme est obtenu grâce à l'utilisation de l'utilisation de la non-nutrition et de la fiabilité élevée est déterminée au moyen de protéger l'accès aux fichiers et à une organisation générale. code de logiciel OS, dans lequel les dysfonctionnements, le plus souvent ne détruisent pas les informations stockées dans les fichiers.

Partage d'informations. Les fichiers offrent naturellement et moyen facile Séparation des informations entre applications et utilisateurs en raison de la présence de la personne compréhensible d'une personne et de la constance d'informations stockées et de localisation du fichier. L'utilisateur doit avoir des outils pratiques pour travailler avec des fichiers, y compris les répertoires de répertoires combinant des fichiers en groupes, des outils de recherche de fichiers pour les fonctionnalités, un ensemble de commandes pour la création, la modification et la suppression de fichiers. Le fichier peut être créé par un utilisateur, puis utilisé par un utilisateur complètement différent, tandis que le créateur du fichier ou de l'administrateur peut déterminer les droits d'accès à d'autres utilisateurs. Ces objectifs sont implémentés dans le système de fichiers.

Le système de fichiers (FS) fait partie du système d'exploitation, y compris:

Une combinaison de tous les fichiers sur le disque;

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

Un système de logiciel système qui met en œuvre diverses opérations sur des fichiers, telles que la création, la destruction, la lecture, l'écriture, la nommage et la recherche de fichiers.



Le système de fichiers permet aux programmes de faire avec un ensemble d'opérations suffisamment simples pour effectuer des actions sur un objet abstrait représentant le fichier. Il n'est pas nécessaire de traiter les détails de l'emplacement réel des données sur le disque, de la mise en mémoire tampon des données, etc.: Toutes ces fonctions du FS se mettent sur elles-mêmes. FS distribue mémoire de disque, Prend en charge la nommage du fichier, affiche les noms de fichiers aux adresses correspondantes de la mémoire externe, fournit un accès aux données, prend en charge la séparation, la protection et la récupération des fichiers. Ainsi, la FS joue le rôle d'une couche intermédiaire, protégeant toutes les difficultés de l'organisation physique d'un entrepôt de données à long terme et créant un modèle logique plus simple de ce référentiel pour des programmes, ainsi que de leur fournir un ensemble de commodités. commandes de manipuler des fichiers.

Les tâches résolues par la FS dépendent de la méthode d'organisation du processus de calcul dans son ensemble. Le type le plus facile est le FS dans un système d'exploitation mono-utilisateur et un logiciel unique, qui incluent, par exemple, MS-DOS. Les principales fonctions dans une telle FS visent à résoudre les tâches suivantes:

Nommage de fichier;

Interface de programmation pour applications;

Affiche modèle logique FS sur l'organisation physique de l'entrepôt de données;

FS Stabilité aux échecs de puissance, au matériel et aux erreurs logicielles.

Les tâches FS sont compliquées dans le système d'exploitation multiprogramme unique à l'utilisateur unique, qui, bien qu'ils soient destinés au fonctionnement d'un utilisateur, mais donnent la possibilité d'exécuter plusieurs processus en même temps. L'un des premiers os de ce type était OS / 2. Pour les tâches ci-dessus, une nouvelle tâche de partage à plusieurs processus est ajoutée. Le fichier dans ce cas est une ressource partagée, ce qui signifie que la FS devrait résoudre tout le complexe de problèmes associés à de telles ressources. En particulier, la FS devrait fournir des moyens pour bloquer le fichier et ses pièces, empêchant les courses, à l'exclusion des blocages, la correspondance des copies, etc. Dans les systèmes multijoueurs, une autre tâche apparaît: Protection des fichiers d'un utilisateur d'un accès non autorisé d'un autre utilisateur. Les fonctions FS sont encore plus complexes, ce qui fonctionne dans le système d'exploitation réseau.



La FS prend en charge plusieurs types de fichiers fonctionnellement différents, qui, en règle générale, incluent des fichiers réguliers, des fichiers de répertoires, des fichiers spéciaux, des convoyeurs nommés affichés dans des fichiers mémoire et d'autres. Les fichiers ordinaires ou simplement des fichiers contiennent des informations arbitraires. La majeure partie du système d'exploitation moderne ne limite pas et ne contrôle pas le contenu et la structure du fichier habituel. Le contenu du fichier habituel est déterminé par l'application qui fonctionne avec elle. Par exemple, un éditeur de texte crée des fichiers texte consistant en des chaînes de caractères présentés dans n'importe quel code. Ceux-ci peuvent être des documents, des textes source des programmes, etc. Les fichiers texte sont disponibles à l'écran et imprimer sur l'imprimante. Les fichiers binaires n'utilisent pas de codes de symboles, ils ont souvent une structure interne complexe, telle que le code de programme exécutable ou le fichier d'archive. Tous les OS devraient pouvoir reconnaître au moins un type de fichiers - leurs propres fichiers exécutables. Les catalogues sont un type spécial de fichiers contenant des informations de référence du système sur le jeu de fichiers. Dans de nombreux systèmes d'exploitation, le répertoire peut inclure des fichiers de n'importe quel type, y compris d'autres répertoires, en raison desquels une structure d'arborescence est formée, pratique à rechercher. Les catalogues définissent la conformité entre les noms de fichiers et leurs caractéristiques utilisées par la gestion de fichiers FS. Ces caractéristiques incluent notamment des informations (ou un pointeur à une autre structure contenant ces données) sur le type de fichier et de l'emplacement sur le disque, les droits d'accès au fichier et la date de sa création et de sa modification. Dans toutes les autres relations, les catalogues sont pris en compte par le système de fichiers sous forme de fichiers réguliers. Les fichiers spéciaux sont des fichiers fictifs associés aux périphériques d'E / S utilisés pour unifier le mécanisme d'accès aux fichiers et aux périphériques externes. Ils permettent à l'utilisateur d'effectuer une opération d'E / S via des commandes d'enregistrement conventionnelles à un fichier ou à lire dans le fichier. Ces commandes sont traitées en premier par les programmes FS, puis à un moment donné de l'exécution de la requête, le système d'exploitation est converti en la commande de contrôle sur le périphérique correspondant. Modern FS prend en charge d'autres types de types de fichiers, tels que des liens symboliques, des convoyeurs nommés affichés dans des fichiers de mémoire.

Les utilisateurs se réfèrent aux fichiers par noms symboliques. Les capacités de la mémoire humaine limitent le nombre de noms d'objets auxquels l'utilisateur peut contacter par nom. L'organisation hiérarchique de l'espace de noms vous permet de développer considérablement ces frontières. C'est pourquoi la plupart des systèmes de fichiers ont structure hiérarchiquedans lequel les niveaux sont créés en raison du fait que le répertoire du niveau inférieur peut entrer plus sur le catalogue haut niveau. Le graphique décrivant la hiérarchie du catalogue peut être un arbre ou un réseau. Les catalogues forment un arbre si le fichier est autorisé à entrer un seul répertoire, et le réseau - si le fichier peut entrer immédiatement dans plusieurs répertoires. Par exemple, dans les catalogues MS-DOS et Windows, forment une structure d'arborescence et dans UNIX - Network. Dans la structure des arbres, chaque fichier est une feuille. Le répertoire de haut niveau s'appelle le répertoire racine ou la racine (racine). Avec une telle organisation, l'utilisateur est exempté de mémoriser les noms de tous les fichiers, il suffit de simplement soumettre à quel groupe un ou plusieurs fichiers peuvent être attribués. La structure hiérarchique est pratique pour les travaux multijoueurs: chaque utilisateur avec ses fichiers est localisé dans ses répertoires de répertoires ou de sous-sorties, tout en même temps que tous les fichiers du système sont connectés logiquement. Un cas particulier d'une structure hiérarchique est une organisation à un seul niveau, lorsque tous les fichiers sont inclus dans un répertoire.

Bonne journée Cher utilisateur, cet article parlera d'un tel sujet que des fichiers. Nommerons-nous: nous examinerons: Gestion de fichiers, types de fichiers, structure de fichiers, attributs de fichier.

Système de fichiers

L'une des tâches principales du système d'exploitation est de fournir une commodité à l'utilisateur lorsque vous travaillez avec des données stockées sur des disques. Pour cela, le système d'exploitation remplace la structure physique des données stockées par un modèle logique convivial, qui est implémenté comme arbre de catalogues affiché à l'écran, tel que Norton Commander, Far Manager ou Windows Explorer.. L'élément de base de ce modèle est déposerqui est la même chose que système de fichiers En général, il peut être caractérisé par une structure logique et physique.

Gestion de fichiers

Déposer - Zone nommée de la mémoire externe, conçue pour lire et écrire des données.

Les fichiers sont stockés dans la mémoire indépendamment de la puissance. Une exception est un disque électronique lorsqu'une structure imitant le système de fichiers est créée dans l'OP.

Système de fichiers (FS) est un composant du système d'exploitation qui fournit l'organisation de création, de stockage et d'accès à des fichiers de données nommés.

Le système de fichiers comprend: Le système de fichiers comprend:

  • La totalité de tous les fals sur le disque.
  • Définissements de structures de données utilisées pour gérer des fichiers (répertoires de fichiers, descripteurs de fichier, tables de distribution d'espace disque gratuit et occupé).
  • Un ensemble de logiciels système qui met en œuvre diverses opérations sur des fichiers: création, destruction, lecture, écriture, nommage, recherche.

Les tâches résolues par la FS dépendent de la méthode d'organisation du processus de calcul dans son ensemble. Le type le plus simple est le FS en utilisateur mono-utilisateur et à still. Les principales fonctions dans une telle FS visent à résoudre les tâches suivantes:

  • Nom de fichier.
  • Interface de programme pour les applications.
  • Affiche le modèle logique FS à l'organisation physique du stockage de données.
  • FS Stabilité aux échecs de puissance, au matériel et aux erreurs logicielles.

Les tâches de la FS sont compliquées dans un système d'exploitation multi-utilisateurs unique, conçus pour travailler un utilisateur, mais permettent d'exécuter plusieurs processus simultanément. Une nouvelle tâche est ajoutée aux tâches ci-dessus - partage au fichier de plusieurs processus.

Dans ce cas, le fichier est une ressource partagée, ce qui signifie que la FS devrait résoudre la gamme complète de problèmes associés à de telles ressources. En particulier: les outils de blocage de fichiers et ses pièces doivent être fournis, coordination des copies, prévention des courses, à l'exclusion des blocages. Une autre tâche apparaît dans les systèmes multijoueurs: Protection des fichiers d'un utilisateur d'un accès non autorisé d'un autre utilisateur.

Les fonctions FS sont encore plus complexes, ce qui fonctionne dans le cadre du système d'exploitation réseau, il est nécessaire d'organiser la protection. des dossiers Un utilisateur de l'accès non autorisé d'un autre utilisateur.

Nomination principale système de fichiers et correspondant à cela systèmes de gestion de fichiers- Organisation contrôle pratique Fichiers, organisés en tant que fichiers: au lieu d'un accès de données de bas niveau, avec des adresses physiques spécifiques, les enregistrements dont nous avons besoin, utilisent un accès logique avec le nom du nom du fichier et de l'entrée.

Les termes "système de fichiers" et "système de gestion de fichiers" doivent être distingués: le système de fichiers détermine, tout d'abord, les principes d'accès aux données organisés en fichiers. Et le terme "système de gestion de fichiers" doit être utilisé en relation avec mise en œuvre spécifique Système de fichiers, c'est-à-dire Il s'agit d'un ensemble de modules logiciels qui fournissent du travail avec des fichiers dans un système d'exploitation spécifique.

Exemple

Système de fichiers FAT (tableau d'allocation de fichier) présente de nombreuses implémentations en tant que système de gestion de fichiers

  • Le système développé pour le premier PC était simplement appelé gras (il s'appelle maintenant simplement FAT-12). Il a été développé pour travailler avec des disquettes et, depuis un certain temps, il a été utilisé pour travailler avec des disques durs.
  • Ensuite, il a été amélioré de travailler avec des disques durs d'un plus grand volume et cette nouvelle mise en œuvre a été nommée graisse 16. Ce nom est également utilisé par rapport au SUFM lui-même MS-DOS.
  • La mise en œuvre de SUFS for OS / 2 s'appelle Super-Fat (la principale différence est la possibilité de prendre en charge des attributs étendus pour chaque fichier).
  • Il y a une version de suf et de Windows 9x / NT, etc. (Graisse-32).

Types de fichiers

Fichiers ordinaires: Contiennent des informations d'une nature arbitraire que l'utilisateur se réside dans eux ou qui est formée à la suite de programmes système et utilisateur. Le contenu du fichier habituel est déterminé par l'application qui fonctionne avec elle.

Les fichiers conventionnels peuvent être deux types:

  1. Logiciel (exécutable) - Les programmes sont-ils écrits dans le système d'exploitation de la langue de commande et effectuez des fonctions système (extensions.exe, .com, .bat).
  2. Fichiers de données - Tous les autres types de fichiers: texte et documents graphiques, tableurs, bases de données, etc.

Catalogues - Ceci est, d'une part, un groupe de fichiers unis par l'utilisateur basé sur certaines considérations (par exemple, des fichiers contenant des programmes de jeux ou des fichiers qui composent un package logiciel), et d'autre part, c'est une spéciale. Type de fichiers contenant des informations de référence du système sur un ensemble de fichiers regroupés par des utilisateurs par une fonctionnalité informelle (type de fichier, emplacement sur disque, droits d'accès, date de création et modification).

Fichiers spéciaux - Ce sont des fichiers fictifs associés aux périphériques d'E / S, 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 via des commandes d'enregistrement normales à partir de fichiers ou de la lecture à partir de fichiers. Ces commandes sont traitées d'abord par les programmes FS, puis à un stade-étape de l'exécution de la requête sont converties en OS dans la commande de contrôle du périphérique correspondant (PRN, LPT1 - pour le port d'imprimante (noms symboliques, pour le système d'exploitation. ), Con - pour le clavier).

Exemple. Copier Con Texte1 (Travaillez avec le clavier).

Structure de fichiers

Structure de fichiers - Tous les fichiers sur disque et interrelations entre eux (stockage de fichiers sur le disque).

Types de structures de fichiers:

  • simple, ou alors à un seul niveau: Le répertoire est une séquence linéaire de fichiers.
  • hiérarchique ou alors multi-niveau: Le répertoire lui-même peut faire partie d'un autre répertoire et contenir beaucoup de fichiers et de sous-répertoires en soi. La structure hiérarchique peut être deux types: "arborescence" et "réseau". Les catalogues forment un "arbre" si le fichier est autorisé à entrer un seul répertoire (MS-DOS, Windows OS) et "Network" - Si le fichier peut entrer immédiatement dans plusieurs répertoires (UNIX).
  • La structure de fichier peut être représentée sous forme de graphique décrivant la hiérarchie des répertoires et des fichiers:



Types de noms de fichiers

Les fichiers sont identifiés par les noms. Les utilisateurs donnent des fichiers noms symboliquesDans le même temps, les restrictions du système d'exploitation sont prises en compte à la fois sur les caractères utilisés et pour la longueur du nom. Dans les premiers systèmes de fichiers, ces limites étaient très étroites. Donc en populaire graisse du système de graisse.les noms sont limités à un schéma bien connu 8.3 (8 caractères - réellement Nom, 3 caractères - expansion du nom) et dans UNIX System V, le nom ne peut pas contenir plus de 14 caractères.

Cependant, l'utilisateur est beaucoup plus pratique de travailler avec des noms longs, car ils vous permettent de donner au fichier un nom vraiment mnémonique, selon lequel même une période assez importante peut être rappelée qu'il contient ce fichier. Par conséquent, les systèmes de fichiers modernes prennent généralement en charge les noms de caractères longs.

Par exemple, Windows NT dans leur fichier système NTFS Il établit que le nom du fichier peut contenir jusqu'à 255 caractères, sans compter le symbole zéro final.

Lorsque vous accédez à de longs noms, un problème de compatibilité se produit avec des applications précédemment créées à l'aide de noms courts. Pour que les applications puissent accéder aux fichiers conformément aux accords précédemment acceptés, le système de fichiers doit être en mesure de fournir des fichiers de noms abrégés équivalents (alias) qui ont de longs noms. Ainsi, l'une des tâches importantes devient le problème de générer des noms abrégés appropriés.

Les noms symboliques peuvent être trois types: simple, composite et relatif:

  1. Nom simple Identifie le fichier dans un seul répertoire, attribué à des fichiers avec la nomenclature du symbole et la longueur de nom.
  2. Nom et prénom est une chaîne de noms symboliques simples de tous les répertoires à travers lesquels le chemin de la racine ce fichierNom du disque, nom de fichier. Ainsi, le nom complet est composé, dans lequel noms simples séparés les uns des autres acceptés dans le séparateur.
  3. Le fichier peut également être identifié nom relatif. Le nom de fichier relatif est défini via le concept de "catalogue actuel". À chaque fois, l'un des répertoires est actuel et ce répertoire est sélectionné par l'utilisateur par l'équipe du système d'exploitation. Le système de fichiers corrige le nom du répertoire actuel pour l'utiliser comme ajout aux noms relatifs de la formation du nom de fichier complet.

Dans une structure de fichier d'arbre entre le fichier et son nom complet, il existe une correspondance multiple - "Un fichier est un nom complet". Dans la structure de fichier réseau, le fichier peut entrer plusieurs répertoires, ce qui signifie qu'il peut y avoir plusieurs noms complets; Ici, la correspondance est vraie - "Un fichier est beaucoup de noms complets."

Pour le fichier 2.Doc, déterminez tous les trois types de noms, à condition que le catalogue actuel soit le répertoire 2008.

  • Nom simple: 2.doc
  • Nom complet: c: \\ 2008) \\ documents \\ 2.doc
  • Nom relatif: Documents \\ 2.Doc

Attributs de fichier

Une caractéristique importante du fichier est des attributs. Les attributs - Ceci est des informations décrivant les propriétés des fichiers. Exemples d'attributs de fichier possibles:

  • Un signe "lecture seule" (en lecture seule);
  • Symptôme "fichier caché" (caché);
  • Symptôme "fichier système" (système);
  • Signe de "fichier d'archive" (archive);
  • Type de fichier (fichier normal, répertoire, fichier spécial);
  • Propriétaire de dossier;
  • Créateur de fichier;
  • Mot de passe pour accéder au fichier;
  • Informations sur les opérations autorisées d'accès au fichier;
  • Temps de création, dernier accès et dernier changement;
  • Taille du fichier actuel;
  • Taille maximale du fichier;
  • Symptôme "temporaire (Supprimer après l'achèvement du processus)";
  • Signe de blocage.

Dans les systèmes de fichiers de différents types Pour caractériser les fichiers, différents ensembles d'attributs peuvent être utilisés (par exemple, dans le système d'exploitation mono-utilisateur dans l'ensemble d'attributs, aucune caractéristique ne sera liée à l'utilisateur et à la protection (créateur de fichiers, mot de passe pour accéder au fichier, etc.).

L'utilisateur peut accéder aux attributs à l'aide des outils fournis pour ces objectifs par le système de fichiers. Il est généralement autorisé à lire les valeurs de tous les attributs et de modifier uniquement certaines, par exemple, vous pouvez modifier les droits d'accès au fichier, mais vous ne pouvez pas modifier la date de création ni la taille du fichier actuel.

Droits d'accès au fichier

Définir les droits d'accès au fichier - cela signifie déterminer pour chaque utilisateur un ensemble d'opérations pouvant s'appliquer à ce fichier. Dans différents systèmes de fichiers, une liste d'opérations d'accès différentielles peut être définie. Cette liste peut inclure les opérations suivantes:

  • créer un fichier.
  • destruction du fichier.
  • enregistrez au fichier.
  • ouvrir un fichier.
  • fermer le fichier.
  • lire dans le fichier.
  • fichier de supplément.
  • rechercher dans le fichier.
  • obtenir des attributs de fichier.
  • Établir de nouvelles valeurs d'attribut.
  • renommaison.
  • exécution de fichier.
  • catalogue de lecture, etc.

Dans le général des droits d'accès Il peut être décrit par la matrice de droits d'accès dans laquelle les colonnes répondent à tous les fichiers système, à toutes les utilisateurs et à l'intersection des lignes et des colonnes sont indiqués par des opérations autorisées:

Dans certains systèmes, les utilisateurs peuvent être divisés en catégories distinctes. Pour tous les utilisateurs d'une catégorie, les droits d'accès uniformes sont définis, par exemple, à UNIX, tous les utilisateurs sont divisés en trois catégories: le propriétaire du fichier, membres de son groupe et tous les autres.


^ Système de fichiers hiérarchique.

Tous les fichiers de structure de fichier sont intégrés à l'arborescence. La racine de l'arbre est la racine dite du système de fichiers. Si le nœud d'arbre est une feuille, il s'agit d'un fichier pouvant contenir des données ou d'être un catalogue. Les nœuds autres que les feuilles sont des catalogues. En conséquence, la nommée dans un tel système peut se produire différentes façons. Le premier est le nom de la Fala concernant le catalogue le plus proche. Si nous examinons les fichiers les plus proches du répertoire F0 - ce fichier F1 (il s'agit également d'un répertoire) et de fichier F2. C'est-à-dire que si nous nous comportons d'une certaine manière (systémique) que nous travaillons dans le répertoire F0, nous pouvons accéder aux fichiers de ce catalogue uniquement par leurs noms (F1 et F2). En conséquence, à un niveau, les noms doivent être uniques (dans le même catalogue). Depuis que nous avons une structure en bois, vous pouvez parler du nom complet du fichier qui est le chemin de la racine de l'arborescence au fichier. Par exemple, le chemin du fichier F3 ressemblera à "/ f1 / f3". Dans le même temps, nous pouvons travailler à la fois avec un nom de fichier complet et court. Et depuis par la propriété des arbres, le chemin de chaque feuille est sans équivoque, puis nous résolvons immédiatement le problème de l'unification des noms.

La première organisation de ce type est apparue dans le système d'exploitation multiple, qui a été développé à l'Université de Berkeley à la fin des années 60. C'était il y a longtemps, mais une si belle et belle solution depuis lors, alors commençait à apparaître dans de nombreux OS.

En conséquence, chaque fichier peut être lié à certains attributs associés aux droits d'accès, ces attributs peuvent profiter des fichiers et des répertoires. C'est-à-dire que l'organisation structurelle d'un tel système de fichiers est bonne pour le système multijoueur. D'une part, il n'ya pas de problème de nommage et, d'autre part, un tel système peut augmenter grandement et bien augmenter.

Protection des données dans le système d'exploitation

^ Identification - la possibilité de reconnaître un utilisateur spécifique et de performer en fonction de la définition des actions de protection des données nécessaires, etc. Par exemple, MS DOS est un système d'exploitation mono-utilisateur. Il existe des systèmes qui vous permettent d'enregistrer les utilisateurs, mais ces utilisateurs ne sont pas connectés les uns avec les autres (il peut y avoir un système d'exploitation IBM pour les ordinateurs centraux), et ils ne peuvent donc pas être organisés en groupes. Mais il serait commode d'allouer dans un groupe distinct - le laboratoire, le département, le groupe de formation des étudiants, etc.

Dans l'organisation hiérarchique des utilisateurs, il existe un concept de groupe. Et dans le groupe, il existe de vrais utilisateurs.

Lors de l'enregistrement d'un utilisateur spécifique, il devrait être attribué à n'importe quel groupe.

Si les utilisateurs sont divisés en groupe, ensuite par analogie avec séparation entre utilisateurs spécifiques, vous pouvez partager des ressources avec un groupe (c'est-à-dire que l'utilisateur peut effectuer ses fichiers à la disposition de tous les membres de certains groupes.

Et une telle division en groupes peut également être multipliée avec la répartition appropriée des droits et des opportunités.

Petite remarque - maintenant OS apparaît dans lequel les droits d'accès peuvent être non seulement hiérarchiques, mais également plus complexes - par exemple, violant la hiérarchie (certains fichiers peuvent être abordables à un utilisateur spécifique d'un groupe d'une autre branche d'arborescence).

Ceci est probablement tout ce qui devrait être dit sur les propriétés et les fonctions du système d'exploitation. Naturellement, nous n'avons considéré pas toutes les fonctions du système d'exploitation. Quelque chose a été spécialement manqué, comme nous considérons le système d'exploitation dans un modèle simplifié. Pour notre objectif, il n'est pas d'étudier le système d'exploitation spécifique, mais d'apprendre à classer le système d'exploitation, de quels points de vue devrait le regarder et comparer différents types OS.

Conférence 7.

OS UNIX.

Aujourd'hui, nous allons au début de l'examen du système d'exploitation UNIX, car de nombreuses décisions acceptées dans le système d'exploitation seront examinées par l'exemple de ce système d'exploitation.

Au milieu des années 60, les laboratoires de laboratoires AT & T ont mené des recherches et du développement de l'un des premiers systèmes d'exploitation dans la compréhension moderne du système d'exploitation multiple. Ce système de séparation temporelle, multijoueur, ainsi que dans ce système, a été proposé en réalité des solutions pour organiser des systèmes de fichiers. En particulier, un système de fichiers ressemblant à des arbres hiérarchiques a été proposé. C'est, environ 1965. De ce développement après un certain temps, le début de Unix OS a été obtenu. L'une des préhistoires dit que la société était ordinateur inutile PDP8 avec un logiciel très désordonné. Mais une voiture était nécessaire qui permettrait d'organiser travail pratique L'utilisateur, en particulier, une entrée appropriée d'informations. Et le groupe de personnes bien connu - Thompson et Ritchi ont engagé dans le développement de nouveaux systèmes d'exploitation sur cette machine. Une autre option était telle qu'elle était engagée dans la mise en œuvre d'un nouveau jeu et ces outils inaccessibles ou inconfortables, et ils ont décidé de jouer avec cette voiture. Le résultat était l'apparition d'UNIX OS. Une caractéristique de ce système était qu'il s'agissait du premier programme système écrit dans une langue autre que la langue d'assembleur. À l'espèce de ce logiciel système, en particulier unix, également parallèle au travail, qui a commencé à partir de la langue BCPL, la langue B a été formée de celle-ci, qui a été utilisée avec des mots de machine, puis une abstraction de mots de machine - Bn et, enfin , la langue "c". Et après 1973, UNIX a été réécrit à la langue "C". En conséquence, un système d'exploitation, 90% du code dont a été écrit dans une langue de haut niveau, une langue qui ne dépend pas de l'architecture de la machine et des équipes, et 10% ont été écrits sur l'assembleur, dans ces 10% le plus critique au moment de la partie du noyau du système d'exploitation.

De nombreux programmeurs à cette époque ont un peu choqué, peu de personnes pensaient qu'un tel système d'exploitation est capable de vivre, car il y a toujours une langue de haut niveau associée à une grande inefficacité. Mais le langage "C" est néanmoins, il a été conçu de manière à ce qu'il soit autorisé à écrire des programmes efficaces et à les diffuser dans un code de machine assez efficace.

De telles propriétés constructives, il convient de noter que "C" est très construit au travail avec des pointeurs. Lorsque nous écrivons un programme sur l'assembleur, il est très souvent pour atteindre le résultat souhaité, nous devons être manipulés avec des adresses. La possibilité d'utiliser des pointeurs est la première propriété "C", qui vous permet de diffuser efficacement le programme dans cette langue dans le code de la machine.

Si nous examinons le programme normal de l'assembleur, nous notons les suivants - lors de la programmation des blocs, nous utilisons souvent un effet secondaire (par exemple, lors du calcul de l'expression, nous pouvons recevoir et distribuer des résultats intermédiaires quelque part) et peut également être fait dans la langue. "De". Ainsi, le concept d'expression dans "C" était beaucoup plus large que dans d'autres langues de cette époque. Et dans les expressions, à l'exception des nouvelles opérations, telles que travailler avec un pointeur, une quart de travail, etc., une opération fondamentalement nouvelle est apparue - une opération d'affectation. Pourquoi est-elle nouvelle? Parce que dans de nombreuses langues sur "C", ainsi que après, il n'y avait aucune opération d'affectation - il y avait un opérateur d'affectation. La différence d'une chose est que si nous avons un opérateur d'appropriation, d'abord, il est nécessaire que, dans la partie droite d'une telle opération, nous ne puissions plus utiliser un effet secondaire), et la deuxième partie à gauche de l'opérateur d'affectation est une référence à une seule zone de mémoire. L'application de l'opérateur d'appropriation à l'intérieur de l'expression a permis de résoudre le problème des effets secondaires (les valeurs des sousjoints pouvant être utilisées à l'extérieur - et ils réduisent à leur tour le nombre d'échanges avec la RAM), et c'est un moyens d'efficacité.

Celles-ci et, probablement, seules ces propriétés de la langue ont déterminé sa vitalité, son aptitude aux composants du système de programmation et la possibilité d'une diffusion optimale du code de différentes machines. D'un point de vue professionnel, la langue «C» est une langue terrible. L'exigence principale qui est présentée aujourd'hui aux langues de programmation est la sécurité de la programmation. C'est-à-dire que la langue de la langue doit minimiser le nombre erreurs possibles.

Et les propriétés de telles langues sont les suivantes:


    1. Types de contrôle durs. C'est-à-dire que si nous essayons de multiplier une variable entière sur une variable flottante, la langue donnera une erreur. Tous les types de types par défaut sont invalides.

    2. Assurer le contrôle de l'accès à la mémoire du programme. Cela signifie que si dans notre mémoire, le nombre qu'il a été écrit comme un entier, nous ne pouvons que le considérer à partir de là dans son ensemble, et non comme un flottant ou un symbole. Dans les "C" et d'autres langues, l'accès à la mémoire sans relâche fournit un pointeur, d'une part, par l'intermédiaire du pointeur, d'une part, nous perdons toutes les informations sur le type et, d'autre part, nous pouvons tromper la fonction de la pièce. des paramètres réels et formels.

    3. Surveiller l'interaction des modules. L'essence de cette propriété est que de nombreuses erreurs apparaissent dans le cas où la fonction a rétracté un ensemble de paramètres, et l'appel à celui-ci est livré avec un autre ensemble, la différence peut être à la fois en quantité et en types. Langue "C", malgré même sur la version d'ANSI C, qui a tenté de résoudre en partie ce problème - il est toujours possible de tromper la fonction et de transmettre le paramètre d'un autre type, au lieu de six paramètres, un paramètre peut être transféré.
Ici sur ces trois positions, la langue «C» est une mauvaise langue. Néanmoins, c'est la "mentalité" des programmeurs, qui est que, pour une raison quelconque, les langues les plus vivantes sont des langues conceptuelles, en plus de "s", vous pouvez ajouter encore forndran.

Donc, 1973. L'apparition d'UNIX OS, et il a déjà été écrit dans la langue "C". Quelles propriétés de base possédaient déjà ce système d'exploitation. La première propriété est le concept de fichiers, l'objet principal qui exploite le système d'exploitation est un fichier. Le fichier est un ensemble de données, un fichier du point de vue UNIX est un périphérique externe, un fichier est un répertoire contenant des informations sur les fichiers appartenant à celui-ci, etc. À ce jour, la stratégie de fichiers est distribuée à UNIX presque à tous. La deuxième propriété, qui est une continuation ou une conséquence de la première, est que le système d'exploitation est construit très intéressant. Contrairement au système d'exploitation précédent, où chaque commande était cousue vers l'intérieur, et cette commande n'a pas pu être modifiée, supprimée du système, créer une nouvelle commande - Vunix. Les problèmes des commandes utilisateur sont résolus très élégants en raison de deux points. Le premier - Unix déclare l'interface standard pour transmettre des paramètres de l'extérieur à l'intérieur du processus. La seconde - toutes les commandes sont implémentées comme des fichiers, cela signifie que vous pouvez ajouter librement de nouvelles commandes au système, qui seront disponibles soit pour moi, soit un groupe d'utilisateurs, ou tout, et vous pouvez supprimer des commandes.

Commençons à examiner les propriétés spécifiques du système d'exploitation UNIX. La première chose que nous examinerons est le système de fichiers, l'organisation du travail avec des fichiers.

Système de fichiers UNIX

Système de fichiers UNIX, il s'agit d'un système de fichiers hiérarchique et multijoueur. Il peut être représenté comme un arbre:

À la racine de l'arborescence, il y a un "répertoire racine", des nœuds autres que les feuilles de l'arborescence sont des catalogues. Les feuilles peuvent être: fichiers (dans la compréhension traditionnelle - Ensembles de données nommés), catalogues vides (répertoires non associés à un fichier unique). Le système définit le nom de concept du fichier est un nom associé à un ensemble de données dans le répertoire auquel appartient ce fichier. Par exemple, le répertoire D1 appartient aux fichiers: N1, N2, N3; Le catalogue D0 appartient à: N4, N5 et D1, ce dernier est également un fichier, mais spécial. Donc, le nom est le nom associé aux données des données dans le contexte du catalogue d'affiliation. De plus, il y a un concept de nom complet. Le nom complet est un chemin unique de la racine du système de fichiers à fichier spécifique.. Le caractère du premier nom est le catalogue racinaire "/", puis tous les répertoires sont répertoriés via la ligne inclinée jusqu'à ce qu'il s'agisse de le bon fichier. Par exemple, le fichier N3 a le nom complet "/ D0 / D1 / N3". En raison du fait que ce chemin pour chaque fichier dans n'importe quel répertoire est unique, nous pouvons appeler les mêmes noms de fichiers dans différents répertoires. Par exemple, le nom n4 est présent dans les répertoires D0 et D4, mais il différents fichiersPuisque les chemins complets sont différents (/ D4 / N4, / D0 / N4).

Commenter. En fait, le système de fichiers UNIX n'est pas du bois. Tout ce qui a été mentionné ci-dessus est correct, mais le système a la capacité de violer une belle et pratique hiérarchie sous la forme d'un arbre, car il est possible d'associer plusieurs noms avec le même contenu de fichiers. Et ces situations peuvent survenir lorsque, par exemple, "/ d4 / n3" et "/ d0 / d1 / n1" sont en fait un fichier avec deux noms.

Une autre remarque. À UNIX, une hiérarchie d'utilisateurs de trois niveaux est utilisée:

Premier niveau - Tous les utilisateurs. Ils sont divisés en groupes et, en conséquence, des groupes sont constitués d'utilisateurs réels. Dans le cadre de cette organisation d'utilisateurs de trois niveaux, chaque fichier comporte trois attributs:

1) le propriétaire du fichier. Cet attribut est associé à un utilisateur spécifique, qui est automatiquement attribué par le propriétaire du système par le système. Le propriétaire peut être la valeur par défaut en créant un fichier, ainsi qu'une commande qui vous permet de modifier le propriétaire du fichier.

2) Protection de l'accès au fichier. L'accès à chaque fichier (à partir du fichier System Kernel vers un fichier texte ordinaire) est limité dans trois catégories:

Droits du propriétaire (que peut faire le propriétaire avec ce fichier, dans l'affaire général -  pas nécessairement quoi que ce soit nulle part);

Les droits du groupe qui possèdent le propriétaire du dossier. Le propriétaire n'est pas activé (par exemple, le fichier peut être fermé pour lire le propriétaire et tous les autres membres du groupe peuvent librement lire dans ce fichier;

Tous les autres utilisateurs du système; 

Trois actions sont réglementées sur ces trois catégories: lire à partir du fichier, écrire dans le fichier et exécution du fichier (en mnémonique r, w, x systèmes, respectivement). Dans chaque fichier sur ces trois catégories, il est défini - quel utilisateur peut lire quoi écrire et qui peut l'exécuter comme un processus.

Ce sont des données de système de fichiers préliminaires. Voyons maintenant la structure du système de fichiers sur le disque.

Tout d'abord, nous définissons des concepts:

Pour toute système informatique Le concept d'un dispositif de stockage externe systémique est défini. Cet appareil auquel est accessible le chargeur de matériel pour démarrer le système d'exploitation. L'essence réside dans ce qui suit - presque tout système informatique a une gamme d'espaces de bélier ciblés placés dans la ROM. La ROM héberge un petit programme (bien que le concept de taille soit relatif, mais il est vraiment petit), qui est allumé machine à calculer Références au bloc fixe, le lit en mémoire et transfère la commande à une adresse fixe liée à un bloc de données.

On pense que le bloc de données exact est un chargeur de logiciel et le chargeur de logiciel tourne le début du système d'exploitation. Il convient de noter que si la chargeuse matérielle est dans la majorité écrasante des machines de manière systémique indépendante (c'est-à-dire qu'il ne sait pas quel OS sera chargé), puis le chargeur de logiciel est déjà un composant du système d'exploitation, on sait que Un système d'exploitation spécifique sera chargé, il sait où le nécessaire pour télécharger des données.

Dans n'importe quel système, il est de coutume de diviser l'espace spéent sur certaines zones de données appelées blocs. La taille de bloc (bloc logique dans OS) est un attribut fixe. Dans UNIX, dans diverses variations, la taille du bloc était de paramètre variant en fonction de la variante du système d'exploitation. Pour la simplicité et l'uniformité, nous supposerons que le bloc logique sera de 512 octets.

Donc, considérez la structure du système de fichiers. Imaginez l'espace d'adressage du paragraphe du système en tant que séquence de blocs.

Nous supposerons que ces blocs n + m-1.

La première unité est un bloc botte. Le placement de ce bloc dans un bloc zéro du dispositif système est déterminé par l'équipement, car la chargeuse matérielle fait toujours référence à un bloc particulier du dispositif système (à zéro bloc). C'est le dernier composant du système de fichiers, qui dépend de l'équipement.

Le bloc Suivant est le système de fichiers Superblock. Il contient des informations opérationnelles sur l'état du système de fichiers, ainsi que des données sur les paramètres du système de fichiers. En particulier, le Superblock contient des informations sur


    • le nombre de descripteurs d'index (ID) dans le système de fichiers;

    • Taille du système de fichiers;

    • blocs gratuits de fichiers;

    • ID libre;

    • Un autre nombre de données que nous ne transférerons pas en raison de l'unicité de leur destination.
Le troisième bloc est la zone des descripteurs d'index. ID est une structure de données de système de fichiers spéciale qui a documenté le fichier mutuellement. Un seul et un seul identifiant est associé à chaque contenu de fichier. Les ID organisent non un bloc, mais l'espace de bloc, dont les dimensions sont déterminées par le paramètre de génération de système de fichiers (déterminé par le numéro de l'ID indiqué dans le superbloc). En conséquence, chaque registre d'index contient les informations suivantes:


    • Code Privilège / Protection;


    • Longueur de fichier;


Suivant Go Blocks of Files. Cet espace spatial, qui héberge toutes les informations des fichiers et des fichiers, qui ne correspondaient pas aux blocs déjà répertoriés.

Dernière zone de données (il est dans différents systèmes Il est situé différemment), mais pour la facilité de présentation, nous supposerons que cette zone est immédiatement derrière les blocs de fichiers - c'est la zone de sauvegarde.

Il s'agit d'un schéma conceptuel de la structure du système de fichiers. Revenons maintenant et considérons certaines de ses parties plus en détail.

Tout d'abord, les intérêts provoquent des zones de blocs libres de fichiers et d'identifiants gratuits. Dans UNIX, l'influence de deux facteurs est observée: le premier est que le système de fichiers a été mis au point lorsque le paragraphe de 5-10 Mo a été considéré comme très important et dans la mise en œuvre des algorithmes de travail avec le système est visible par l'auteur afin d'optimiser cette traiter. Et la seconde est les propriétés du système de fichiers pour optimiser l'accès, dont le critère est la quantité d'échanges que le système de fichiers produit pour ses besoins qui ne sont pas liés à la lecture ou à l'enregistrement des informations de fichier.

Superblock contient une liste de blocs de fichiers gratuits, il se compose de 50 éléments. L'essence de travailler avec cette liste est la suivante - dans un tampon composé de 50 éléments (à condition que le bloc soit de 512 octets, 1 bloc-16 bits), ils ont enregistré des numéros de blocs de fichiers gratuits de 2 à 49. 0 L'élément contient un pointeur sur la continuation de la matrice, et dans le dernier élément contient un pointeur sur l'élément libre de la matrice.

Si un bloc libre est requis pour étendre le fichier, le système du pointeur N / B (numéro de bloc) sélectionne l'élément de tableau et cet appareil est fourni au fichier. Si un fichier est réduit, les numéros libérés sont ajoutés à un tableau de blocs libres et le pointeur N / B est ajusté.

Étant donné que la taille de la matrice est de 50 éléments, alors deux situations critiques sont possibles:


    1. Lorsque nous libérons des blocs de blocs, et ils ne peuvent pas s'intégrer dans ce tableau. Dans ce cas, un bloc libre est choisi dans le système de fichiers et la maquette entièrement remplie de blocs libres est copiée sur cette unité, après la réinitialisation de la valeur du pointeur N / B et de l'élément zéro du tableau, qui est dans le superbloc, le numéro de bloc que nous avons choisi de copier est enregistré. Le contenu de la matrice. Ainsi, si nous libérons constamment des blocs, la liste est formée, dans laquelle tous les blocs libres du système de fichiers seront placés.

    2. Lorsque nous avons choisi tous les blocs libres et que le contenu des éléments d'une gamme de blocs gratuits a été épuisé. Si l'élément zéro du tableau est zéro, cela signifie que tout l'espace système spatial est épuisé. Si cet élément est égal à zéro n'est pas égal, cela signifie qu'il existe une continuation de la matrice. Cette continuation est lue dans une copie du superbloc en RAM.
Pour obtenir un bloc libre et sa libération, dans la plupart des cas, un échange supplémentaire n'est pas requis. Des échanges supplémentaires sont nécessaires lorsque le contenu de 49 blocs est épuisé. Nous avons une bonne mise en mémoire tampon, ce qui réduit les frais généraux du système d'exploitation.

Liste des identités gratuites. Ceci est un tampon composé de 100 éléments. Il contient des informations sur 100 numéros d'identification gratuits ce moment. En conséquence, lorsqu'un nouvel identifiant est nécessaire, son numéro est extrait de la liste d'ID libre si le numéro est publié, il est entré dans ce tableau. Si le tableau est rempli, et 101 éléments sont libérés, il n'est pas enregistré nulle part. Si la liste d'identité est survolée, le système "s'exécute" par liste et génère à nouveau le contenu de ce tampon.

Dans une situation où vous devez créer un fichier et avoir besoin d'un nouvel identifiant et qu'il n'y a pas d'élément unique dans le tableau - le processus de recherche d'une nouvelle pièce d'identité est démarré et ne trouve rien. Ensuite, deux situations sont possibles:


    1. Il n'y a plus de blocs gratuits pour les fichiers;

    2. Plus de nouvel identifiant.
Voici les informations sur le superbloc. Quelles conclusions et quels commentaires peuvent être faits?

    • Superblock est toujours en RAM;

    • Toutes les opérations pour la libération de blocs, l'occupation des blocs de fichiers, sur la profession et la libération de l'ID se produisent dans la RAM (minimiser les échanges de disques). Si le contenu du superbloc n'écrit pas sur le disque et désactive la puissance, les problèmes (incohérence de l'état réel du système de fichiers et le contenu du superbloc). Mais c'est déjà une exigence de la fiabilité du système de système.

Conférence 8.

Descripteurs indiens

Considérons plus de descripteurs d'index. ^ ID est un objet UNIX qui est défini dans un fichier de correspondance mutuellement précieux. C'est-à-dire que pour chaque identifiant, il n'y a qu'un seul contenu et vice versa, à l'exception de la situation que lorsque le fichier est associé à tout dispositif externe. Rappelez-vous le contenu de l'ID:


    • champ définissant le type de fichier (répertoires et autres fichiers);

    • Code Privilège / Protection;

    • le nombre de références à cet identifiant de toutes sortes de répertoires système de fichiers;

    • (Signification zéro signifie liberté d'identité)

    • Longueur de fichier en octets;

    • Dates et heures (heure dernière entrée, date de création, etc.);

    • Dossier de fichier champ des blocs de fichiers.
Comme vous pouvez le voir, il n'y a pas de nom de fichier dans l'ID. Voyons comment aborder les blocs dans lesquels le fichier est placé.

Le champ Adresse contient les dix premiers fichiers des blocs de fichiers, c'est-à-dire si le fichier est petit, toutes les informations sur la mise en place des données de fichier sont directement dans l'ID. Si le fichier dépasse dix blocs, une certaine structure de la liste commence à fonctionner, nommément, le 11ème élément du champ d'adressage contient le numéro de bloc des blocs des blocs de fichiers dans lesquels 128 liens vers des blocs de ce fichier sont placés. Dans le cas où le fichier est encore plus utilisé par le 12ème élément de champ d'adressage. L'essence dans ce qui suit - contient le numéro de bloc contenant 128 enregistrements du nombre de blocs, où chaque bloc contient 128 numéros de blocage de système de fichiers. Et si le fichier est encore plus, 13 élément est utilisé - lorsque la profondeur de la liste de la liste est augmentée d'un de plus.

Ainsi, nous pouvons obtenir une taille de fichier (10 + 128 + 128 2 +128 3) * 512.

Si nous posons la question - pourquoi tout cela est nécessaire (tableaux de blocs gratuits, ID, etc.), nous nous souvenons que nous considérons la relation entre le matériel et logiciel système informatique, et dans ce cas appareil similaire Le système de fichiers vous permet de réduire vivement le nombre d'échanges réels avec la tuyauterie et que la mémoire tamponnage échelle dans UNIX rend le nombre de ces échanges encore moins.

Considérez la zone suivante - la zone de stockage. Sur le diagramme, il est décrit immédiatement derrière les blocs de fichiers. En fait, il peut être placé différemment: devant les blocs de fichiers, dans certains fichiers ou ailleurs, par exemple, de l'autre. Tout cela dépend de la mise en œuvre du système spécifique.

Le pompage de processus se produit dans la zone Enregistrer, il est utilisé pour optimiser le début des processus les plus fréquemment lancés (à l'aide du fichier T-appelé T-Bit).

Nous avons examiné la structure du système de fichiers et de son organisation sur le périphérique système. Cette structure et ces algorithmes de travail avec elle sont assez simples, cela est fait de manière à ce que les frais généraux associés au fonctionnement du système ne dépassaient pas les limites de raisonnabilité.

Éléments du système de fichiers:

Catalogues

Nous avons dit que toutes les informations in Unix sont situées dans des fichiers. Il n'existe pas de tables spéciales qui sont placées à l'extérieur du système de fichiers et sont utilisées par le système, à l'exception de ces tables que l'OS crée pendant le fonctionnement dans l'espace RAM.

^ Le répertoire du point de vue OS est un fichier, un fichier régulier contenant des données sur tous les fichiers appartenant au catalogue.

Nous disons que dans le répertoire "A" contient des fichiers: "B", "C" et "D" - dont "In" et "C" peuvent être à la fois des fichiers et des répertoires, et "D" - Évidemment catalogue.

Le répertoire a la structure suivante. Il consiste en des éléments qui combinent deux champs en soi - le numéro d'identification et le nom de fichier:

Catalogue \u003d ((id, nom), (id, nom), ..., (ID, nom))

Quel est le numéro d'identification? - Ceci est le numéro de séquence de l'élément de la liste des descripteurs d'index. Donc, le premier élément de cette liste - ID n ° 1 appartient au catalogue racinaire. "

En général, les enregistrements faisant référence au même ID peuvent répéter le répertoire, mais les enregistrements avec le même nom ne peuvent pas être trouvés dans le catalogue. C'est-à-dire qu'un nombre arbitraire de noms peut être associé au contenu du fichier. Lors de la création d'un répertoire, deux entrées sont toujours créées:

(Id_same_katalog, ".") Et (id_delitoire_catalog, "..")

Donc, sur la photo "A", le fichier ID n ° 7, "D" - ID # 5, "F" - ID # 10, "G" - ID # 101. Dans ce cas, le catalogue D aura le contenu suivant:

{{ 5, “.” },

(Pour le catalogue racinaire, le parent se réfère à lui lui-même.)

Quelle est la différence entre un répertoire d'un fichier régulier? Il est caractérisé par un champ de type dans le descripteur d'index.

Voyons comment les noms et liens complets vers des répertoires peuvent être utilisés schématiquement. Dans le système à chaque fois que le répertoire actuel est défini pour l'utilisateur. C'est-à-dire que le répertoire, dont le nom complet est substitué à tous les fichiers dont le nom ne commence pas avec le symbole "/". Si le catalogue actuel "D", vous pouvez simplement parler du fichier "F" ou "g", si le catalogue actuel "D", et il est nécessaire d'accéder au fichier "B", il est facile de Utiliser avec le nom "B" Il est impossible, de sorte qu'il n'appartient pas au répertoire "D", le fichier "B" peut être atteint en spécifiant son nom complet de la racine ou utilise un fichier spécial ".." , dans ce cas, le fichier "B" aura un nom: "../b". Si, lors de l'ouverture, nous nous référons à ".."

Afin d'ouvrir le fichier "B" dans ce cas, vous devrez effectuer un certain nombre d'opérations indirectes - pour prendre l'ID parent et le contenu du fichier de répertoire "A" est sélectionné, dans le "A". Fichier, nous sélectionnons la chaîne nommée "B" et définissez IT ID. Cette procédure est assez laborieuse, mais étant donné que l'ouverture et la fermeture des fichiers se produisent assez rarement, alors le "crime" qu'il n'y a personne.

En raison d'une telle organisation de répertoires, notre contenu du dossier est rompu avec son nom. Le nom peut être déterminé de manière ambiguë.

Étant donné que plusieurs noms peuvent être associés à un fichier, nous pouvons dire que ce fichier peut être à la fois ouvert avec plusieurs processus (d'une manière générale, avoir un seul nom, nous pouvons également ouvrir ce fichier à partir de plusieurs processus, l'essence du problème ne fait pas changer de cette clarification). Comment la synchronisation est-elle dans ce cas? Comme nous le verrons plus tard, tout est résolu correctement ici.

Périphériques de fichiers

Cette variété de fichiers est caractérisée par le type et leur interprétation se produit comme suit. En principe, le contenu des fichiers de fichiers n'a pas, c'est-à-dire que c'est uniquement l'identifiant et le nom qui lui est associé. L'ID indique des informations sur le type de périphérique associé à ce fichier, respectivement, le système UNIX Tous les périphériques se subdivisent en deux types: octets et orientés blocs. Les périphériques orientés par octets sont ceux qui sont échangés par des octets (par exemple, le clavier), des éléments orientés blocs sont de tels dispositifs échangés avec des blocs. Dans l'ID, un champ indique cette caractéristique, il existe également un champ qui définit le pilote associé à cet appareil. Dans le système, chaque pilote est associé à un périphérique spécifique, mais le dispositif peut avoir plusieurs pilotes. Ce champ définissant le numéro de pilote, il existe en effet un numéro dans le tableau des pilotes de la classe de périphérique appropriée (il existe deux tables pour les blocs et les octets). En outre, dans l'ID, certains paramètres numériques peuvent être transférés sur le pilote en tant que paramètre spécifiant des informations sur l'opération.

C'est ce qui peut être dit sur les fichiers spéciaux liés à des périphériques externes.

Exchange de données avec fichiers

Les éléments suivants de l'organisation système du système de fichiers consiste à organiser l'échange de données avec le fichier. Nous définissons les concepts associés à une entrée / sortie de bas niveau. UNIX définit des fonctionnalités spéciales appelées défis du système. Ces défis font appel directement au système d'exploitation, ils effectuent certaines fonctions du système. Par consommation, ils ne diffèrent pratiquement pas de l'utilisation des fonctions de la bibliothèque, alors que la mise en œuvre et les effets de leur différence sont assez importantes. La fonction de bibliothèque sera chargée dans le corps du processus et l'appel du système transmet immédiatement la commande du système d'exploitation et ce dernier exécute l'action ordonnée. En Unix pour fournir des E / S de bas niveau (par appel système) a un ensemble de ces fonctions:

ouvrir (...) - Pour travailler avec le contenu du fichier, le processus doit enregistrer ce fait dans le système, les paramètres de cette fonction sont une chaîne contenant le nom de fichier et les attributs au mode Fichier (lecture en lecture seule, lecture en lecture , etc.), et renvoie cette fonction un chiffre appelé le descripteur de fichier (PD). Dans le corps du processus utilisateur, ainsi que des données associées à ce processus, il existe des informations officielles. En particulier, la table des descripteurs de fichier est placée. Comme toutes les tables de Unix, est la position de la position, c'est-à-dire que le numéro de ligne dans le tableau correspond au PD avec ce nombre. Le nom de fichier et d'autres attributs sont associés à PD. La numérotation de la FD est la prérogative du processus, c'est-à-dire PD est unique dans le même processus.

Le nombre de fichiers ouverts en même temps (plus précisément, quantité maximale FD associé à des fichiers) pour le processus est réglementé par le système.

Donc, la fonction ouverte (...) est l'ouverture d'un fichier existant.

créez (...) est la fonction d'ouverture d'un nouveau fichier, elle servait ses paramètres: le nom de fichier et certains paramètres d'ouverture, ainsi qu'à Ouvrir.

lire (...) / Ecrire (...) - Leurs paramètres sont le numéro PD et certains paramètres d'accès. Ces fonctions servent à lire / à écrire depuis ou à un fichier.

fermer (...) - Arrêt avec le fichier. Après avoir effectué cette fonction, la FD de ce fichier est publiée.

Tout ce système appelle. En outre, dans UNIX, vous pouvez mettre en œuvre un retrait d'entrée via des fonctions de bibliothèque (par exemple, Fopen, Fread, FOGEN, FLOSE, ...).

Considérez l'échange d'échange du point de vue du système à UNIX.

Lors de l'organisation de l'échange, le système divise toutes les données en deux catégories - les premières sont des données associées au processus utilisateur et les données associées au système d'exploitation.

Le premier tableau de données associé au système d'exploitation est un tableau des descripteurs d'index des fichiers ouverts (TIDOF), cette table contient des entrées, chacune contenant une copie de l'ID pour chaque fichier ouvert dans le système. Grâce à une copie de l'ID, nous avons accès aux blocs de fichiers. Chacun de ces enregistrements contient le nombre caractérisant le nombre de fichiers ouverts dans le système à l'aide des données ID. C'est-à-dire que si nous ouvrons les mêmes fichiers pour le compte de deux processus, l'enregistrement dans TIDOPH en est un, mais chaque ouverture de cet identifiant augmente le compteur par unité.

Suivant. Tableau de fichier - Ce tableau contient des informations sur le nom du fichier ouvert et dispose d'un lien vers l'ID de ce fichier à TIDOF.

Plus ce schéma sera examiné sur ce qui suit

Tous les programmes et données sont stockés sur des périphériques de mémoire externes informatiques comme étant des dossiers.

Définition. Déposer (dossier de fichiers) - c'est zone de mémoire nommée (séquence d'octets de longueur arbitraire)sur un disque ou un autre support, stocké et traité dans son ensemble. Les données stockées dans des fichiers peuvent être des textes, des programmes, des informations graphiques codées ou des informations sonores, etc. .

Déposer Il a nom et les attributs Et caractérisé taille en octets, dateet temps le sien créer ou alors dernier changement.

Noter.

Nom de fichier Peut être plein et incomplet. Nom complet (composite) Fichier B. MS-DOS. comprend deux morceaux: nom de fichieret extensionsséparé point. ExpansionAussi appelé type de fichier.peut ne pas être absent, dans ce cas, le nom du fichier est incomplet.

Symbolesutilisé dans le nom du fichier et son expansion provient de l'ensemble suivant :

Inscription (grandes) et minuscules (petites) lettres de l'alphabet latin ; ;

Symboles: - _ $ # & @! % () () '~ ^

Le nom du fichier peut être de une avant que huit personnages Et en expansion - de zéro avant que trois(pour les systèmes d'exploitation de type MS DOS.). DANS OS Windows Ces restrictions sont moins strictes - le nom du fichier peut contenir jusqu'à 255 caractères.

Certaines des extensions (types) des fichiers sont standard:

Com - prêt à exécuter le fichier (1ère espèce);

EXE - prêt à exécuter le fichier (2e type) ou le fichier exécutable, le fichier principal de tout programme utilisateur;

BAT - Fichier de commandes de commandement;

SMS - fichier texte type arbitraire;

MDB - Fichier Accès DBMS.;

XLS - fichier électronique tables Excel;

DOC - un fichier texte contenant de la documentation pour tout produit logiciel ou éditeur de fichiers Microsoft Word.;

BMP - fichier graphique au format ponctuel;

Arj, rar, zip - fichiers archivés, etc.

Définition . Fichier d'attributs Le paramètre définissant les règles de visualisation et d'édition de son contenu.

Le fichier peut avoir ce qui suit les attributs:

R (lecture seule) - "Seulement pour la lecture". Lorsque vous essayez de mettre à jour ou de détruire un tel fichier à l'aide des outils système, une action erronée sera émise. L'attribut de fichier est défini pour protéger le fichier de changement accidentel ou de destruction.

H (caché) - "Fichier caché". Lorsque vous regardez le catalogue avec des outils standard fichiers caché Non émis.

S (système) - "Fichier système". Ces fichiers utilisent le système d'exploitation.

A (Archive) - "Fichier d'archive". Cet attribut est établi lors de la création de chaque nouveau fichier et est réinitialisé par des outils logiciels pour l'archivage et les réservations.

Définition. Catalogue Un fichier spécial est appelé, qui contient des informations sur d'autres fichiers et répertoires, à savoir:

Nom et prénom;

Temps et date de création ou dernier changement;

Taille en octets;

Les attributs;

Quelques autres informations sur la structure de fichiers du disque.

Noter.

Expression " le fichier entre dans le catalogue" ou alors " le fichier est contenu dans le catalogue"Signifie que les informations sur ce fichier sont contenues dans ce répertoire (ou répertoire, répertoire - répertoire, pointeur).

Sur le disque magnétique existe toujours principale, ou alors répertoire racinequi est créé dans le processus de formatage d'un disque. Le nombre de fichiers enregistrés dans le répertoire racine dépend du type et de la capacité du disque. Un grand nombre de fichiers dans le répertoire racine sont inconfortables pour l'utilisateur. De plus, il peut y avoir une situation dans laquelle les capacités du répertoire principal ne suffiront pas pour que tous les fichiers soient stockés sur le disque. Par conséquent, tout système d'exploitation offre la possibilité de créer un système de catalogue hiérarchique sur le disque. Dans ce système, les éléments de répertoire peuvent non seulement être des fichiers ordinaires, mais aussi d'autres catalogues subordonnés (sous-répertoires), Ce qui, à son tour, peut inclure des sous-répertoires de niveau inférieur avec des fichiers. Le nombre d'éléments du sous-répertoire est limité (pratiquement) uniquement de la capacité de disque. Habituellement, les sous-répertoires de la brièveté sont appelés simplement des annuaires.

Noter.

Répertoire racine appelé symbole \\ ( slash inverse). Répertoire racine Sur chaque disque seul et ne peut pas être supprimé par le logiciel.

Nommer les règles de dénomination nommant COOTICIDEZ avec les règles de nommage du fichier, mais l'expansion, en règle générale, n'est pas utilisée.

Tous les systèmes d'exploitation modernes fournissent la création système de fichiersdestiné à stocker des données sur les médias externes et l'accès à leur accès.

Pour les supports avec un petit nombre de fichiers (jusqu'à plusieurs dizaines) peut être utilisé. système de fichiers à un niveau unique, lorsque le répertoire racine est une séquence linéaire de noms de fichier. Un tel catalogue peut être comparé au défi du livre des enfants, qui ne contient que les noms des histoires individuelles.

Si des centaines de fichiers sont stockés sur le transporteur, alors pour la commodité de travailler avec eux système de fichiers hiérarchique multi-niveaux, avoir une arborescence. Un tel système peut être comparé, par exemple, avec la table des matières du livre contenant des sections, des chapitres, des paragraphes et des éléments.

Des exemples de systèmes de fichiers utilisés dans les PC peuvent servir de systèmes FAT-16, FAT-32, NTFS (Nouvelle technologie Système de fichiers) et etc.

Chaque disque a le sien structure de fichiers qui est formé par les règles suivantes:

Dans différents répertoires, les fichiers peuvent avoir les mêmes noms, mais dans un répertoire, les noms de fichier doivent différer;

Pour l'ordre des fichiers et des répertoires dans le catalogue, aucune restriction n'est superposée;

La profondeur de la nidification de répertoire est limitée par le nombre de caractères dans la longueur du chemin de répertoire.

Formulaire de catalogues de système d'exploitation structure hiérarchiqueappelé catalogues d'arbres, dans lequel le catalogue principal forme la "racine" de l'arborescence (d'où le deuxième nom répertoire principal - "racine"), et les répertoires restants sont comme branches.

Noter.

Si des fichiers et (ou) sous-répertoires United B. catalogue, alors ils disent que ils entrent (intégrés) dans ce catalogue. Cependant, c'est une association ne signifie pas, que sont-ils de quelque manière que groupé au même endroit sur le disque.

Lorsque vous accédez au fichier, vous devez spécifier le chemin d'accès en fonction de caractéristiquesAvoir le format suivant:

[Appareil] [Chemin de répertoire] Nom du fichier [. un type]

Crochets Signifie que la partie correspondante du format peut être omise. Partie du format appareil Signifie le support sur lequel le fichier est situé ou où il est écrit. Si le support n'est pas spécifié, la valeur par défaut est utilisée. périphérique actuel. Catalogues de chemin Spécifie la route de root ou catalogue actuel au fichier.

Définition. Appareil actuel - Ceci est un appareil (transporteur) avec lequel dans actuellement wORKSTER. Son nom est une valeur. défaut Pour le nom du périphérique dans la spécification de fichier.

Noter.

Les noms de répertoire sont divisés par le symbole " \ " Si le chemin commence le symbole " \ "La recherche de fichier commence par catalogue de racines. Si le chemin est omis, il est signifié catalogue actuel.

Définition. Actuelappelé un catalogue qui est ouvert actuellement sur le périphérique actuel. Parfois utiliser le concept catalogue de travail, impliquant sous cette catalogue de périphérique actuel. Son nom est une valeur. défaut Pour le nom du catalogue dans la spécification de fichier.

Difficile disque magnétique Les logiciels peuvent être divisés en plusieurs parties avec lesquelles vous pouvez travailler avec des disques distincts. Ces pièces sont appelées disques logiques ou partitions, chacune desquelles, ainsi qu'un périphérique séparé, est attribué un nom comme lettres latines Avec le symbole ":". Dans le même temps, en règle générale, le lecteur FDD est appelé: et les sections du disque dur - à partir de C :. Autres périphériques de mémoire externes dans PC (CD-ROM, Streamer, etc.) Recevoir des noms suivants dans l'ordre alphabétique par nom la dernière section Winchester. Disque logique (ou périphérique) à partir duquel le système d'exploitation est démarré est appelé système.

Avez-vous aimé l'article? Partager avec des amis: