CHAPITRE 6 : LA GESTION DES FICHIERS 6.1 Préliminaires Le volume des données tr

CHAPITRE 6 : LA GESTION DES FICHIERS 6.1 Préliminaires Le volume des données traitées par les applications informatiques atteignant plusieurs méga et giga octets, ces données ne peuvent pas être stockées dans la mémoire centrale. On souhaite également disposer d'un stockage à long terme qui ne disparaisse pas lorsqu'on éteint la machine. Le principe consiste à stocker ces données dans des mémoires secondaires sous forme de fichiers, c'est-à-dire de suites de blocs (la plus petite unité que le périphérique de stockage est capable de gérer). Le contenu de ces blocs, simple suite de chiffres binaires, peut être interprété selon le format de fichier comme des caractères, des nombres entiers ou flottants, des codes d'opérations machines, des adresses mémoires, etc... L’échange entre les deux types de mémoires se fait ensuite par transfert de blocs. L'objectif du système de fichier est de permettre l'accès au contenu du fichier (l'ouverture du fichier, sa recopie à un second emplacement ou sa suppression) à partir de son chemin d'accès, formé d'un nom précédé d'une liste de répertoires imbriqués. 6.2 Les fichiers (définition et notion de Système de Gestion de Fichier) Un fichier est une collection logique d’information. Un système de fichiers est une collection de fichiers. Une des fonctions d'un SE est de masquer les spécificités des disques et des autres périphériques d'E/S et d'offrir au programmeur un modèle de manipulation des fichiers agréable et indépendant du matériel utilisé. Les appels système permettent de créer des fichiers, de les supprimer, de lire et d'écrire dans un fichier. Il faut également ouvrir un fichier avant de l'utiliser, le fermer ultérieurement. Les fichiers sont regroupés en répertoires arborescents; ils sont accessibles en énonçant leur chemin d'accès (chemin d'accès absolu à partir de la racine ou bien chemin d'accès relatif dans le cadre du répertoire de travail courant). Le SE gère également la protection des fichiers. 6.3 Répertoires, noms de fichiers et partitions 6.3.1 les répertoires Les systèmes de fichiers permettent aux utilisateurs d’organiser des fichiers et d’autres objets de systèmes de fichiers au moyen de répertoires. Un répertoire (dossier) est généralement défini comme un objet du système de fichier contenant d’autres objets de systèmes de fichiers. Les entrées des répertoires déterminent le chemin d’accès absolu ou nom associé à un objet du système de fichiers. En commençant par le répertoire racine, le chemin d’accès absolu est construit en concaténant la séquence des noms parcourus séparé par un « backslah » : \ sous Windows ou Dos et un « slash » / sous linux ou Unix. La plupart des systèmes prennent en charge la notion de répertoire courant ; au lieu de recourir à un chemin d’accès complet, s’avérant très long, il est possible de spécifier un chemin d’accès relatif. 6.3.2Les noms de fichiers Les noms de fichiers représentent des mécanismes d’abstraction qui permettent d’écrire des données et de les trouver plus tard : chaque fichier est référencé par son nom. Le nom d’un fichier possède une longueur maximale qu’il ne peut pas dépasser relativement au système d’exploitation (Dos : 8, Win_XP : 255). Le nom est généralement composé de la partie nom et la partie extension séparés par un point. 6.3.3 Les partitions Les fichiers sont généralement stockés sur des unités de mémoire secondaire ; la mémoire vive peut néanmoins être utilisée pour stocker des fichiers, tels que les fichiers temporaires, pour lesquels un accès rapide est souhaité. La notion de partition peut également entrer en compte pour déterminer sur quelle unité doit être stockée un fichier. Sur certains systèmes, comme Dos et Windows, la partition est spécifiée dans le chemin d’accès. Le nom C:\rules\II2.txt (sous Dos ou Windows) indique que l’objet du système de fichiers nommé \rules\II2.txt se trouve sur la partition c :. 6.4 Type des objets du système de fichiers Dans de nombreux systèmes d’exploitation, les noms des systèmes de fichiers peuvent faire référence à des objets qui ne sont ni des fichiers ni des répertoires. Les objets qui peuvent se trouver dans un système de fichiers comprennent les éléments suivants :  Un raccourci : un raccourci est un pointeur vers un autre nom dans le système de fichiers. Dans la plupart des cas, le fait de se référer à un raccourci revient à se référer au nom pointé par le raccourci. La suppression du nom vers lequel pointe le raccourci laisse généralement le raccourci en suspens.  Un périphérique : un élément matériel, comme un port parallèle.  Un tube : un canal de communication entre 2 processus. Un processus envoie des données dans le tube, l’autre processus lit ces données depuis le tube. Le tube met en mémoire tampon les données écrites à l’intérieur, jusqu'à ce qu’un autre processus lise les données. Le tampon est généralement de taille limitée et un processus qui écrit sur le tube doit être suspendu lorsque le tampon est plein. Les tubes peuvent être nommés ou non. Comme ils n’ont pas de nom les identifiant, les tubes sans nom ne sont généralement accessibles que par le processus les ayant créés ou les processus qui sont des descendant du processus.  De la mémoire partagée : une allocation d’emplacement de mémoire utilisable par un ou plusieurs processus. Comparable à un fichier sur un disque virtuel. 6.5 Fonctions des systèmes de fichiers Le système de fichier doit offrir aux utilisateurs la possibilité d’accomplir des opérations abstraites sur les objets au sein du système de fichiers. Il doit, au minimum, proposer les fonctions suivantes : créations, suppression, lecture et écriture. 6.6 Architecture du système de fichiers 6.6.1 Structure de fichiers Les fichiers peuvent être structurés de deux manières sous formes de suites d’octets non structurés ou d’une suite d’enregistrements. Un fichier est une séquence d’enregistrements de longueur fixe qui ont la même structure interne. Un fichier prend la forme d’un arbre d’enregistrements qui ne sont pas nécessairement de même longueur. Un enregistrement est une collection logique d’informations (par exemple, une ligne de texte, des informations relatives à une personne). Les opérations d’E/S s’effectuent généralement en termes d’enregistrements. Le système d’exploitation peut gérer des structures d’enregistrements fixes et/ou variables. Les enregistrements peuvent à leur tour être divisés en champs, un champ représentant une donnée élémentaire (telle que le nom et l’âge). La figure suivante décrit la structure logique d’un fichier. Figure 6.1: Structure logique d’un fichier Transparent à l’utilisateur, le système d’exploitation considère un fichier comme une collection de blocs logique à taille fixe. Un bloc est l’unité de base d’une opération d’E/S entre le disque et la mémoire tampon du système de fichiers. Le disque en tant que tel est un ensemble de blocs physiques. Chacun d’entre eux stocke un bloc logique et éventuellement d’autres données administratives. La taille du bloc est un multiple de l’unité d’E/S de base fournie par le pilote du disque. 6.6.2 Méthodes d’accès Il existe deux méthodes fondamentales pour accéder à des informations au sein d’un fichier : séquentielles et directes. Dans l’accès séquentiel, il faut accéder aux informations du fichier dans l’ordre dans lequel elles ont été stockées dans le fichier. L’accès se déroule de manière séquentielle depuis le début jusqu’à la fin. Les opérations de lecture ou d’écriture sur le fichier n’ont pas besoin de spécifier l’emplacement logique au sein du fichier, car le système d’exploitation maintient un pointeur de fichier qui détermine l’emplacement du prochain accès. Avec l’accès direct, il est possible d’accéder à tout emplacement logique à l’intérieur du fichier. Généralement, l’accès direct peut être réalisé de 2 manières :  Soit en spécifiant l’emplacement logique auquel accéder comme un paramètre à l’opération de lecture ou d’écriture,  Soit en spécifiant l’emplacement d’une opération de positionnement pour qu’il soit appelé avant la lecture ou l’écriture. Les systèmes de base de données utilisent deux opérations d’accès au système d’exploitation élémentaire pour mettre en œuvre un large éventail de méthodes d’accès de haut niveau. Certains systèmes d’exploitation mettent en œuvre des méthodes d’accès de haut niveau par eux-mêmes. Parmi toutes ces méthodes, l’accès indexé est peut-être le plus significatif. Avec ce dernier, chaque enregistrement de fichiers dispose d’un ou plusieurs champs. Un champ sert de champ d’indexe. Les opérations de lecture et d’écriture comprennent un paramètre d’index. L’enregistrement avec la valeur d’index correspondante est l’enregistrement sur lequel est effectuée l’opération. Pour toute méthode d’accès, les opérations de lecture et d’écriture peuvent être synchrones ou asynchrones. Les blocs d’E/S synchrones bloquent le processus jusqu’à la fin de l’opération d’E/S. Les E/S asynchrones renvoient immédiatement le contrôle au processus, laissant le processus libre de continuer à s’exécuter pendant l’E/S. Si les opérations d’entrées sont asynchrones, il faut faire appel à certains mécanismes pour avertir le processus que l’opération est terminée. Pour cela, il est possible d’envoyer un signal au processus, d’attribuer une valeur particulière aux variables du processus ou de lancer un appel système spécial pour tester l’état de l’opération d’E/S. Les opérations de sortie asynchrones peuvent recourir aux mêmes techniques de notifications ou n’offrir aucune notification. L’E/S synchrone représente la norme qui simplifie considérablement la programmation d’application. La grande vitesse des opérations uploads/Industriel/ chapitre-6-la-gestion-des-fichiers-pdf.pdf

  • 21
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager