Systèmes d'exploitation Chapitre 3: Gestion de fichiers



Documents pareils
Système de Gestion de Fichiers

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Structure fonctionnelle d un SGBD

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Présentation du module Base de données spatio-temporelles

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

EX4C Systèmes d exploitation. Séance 14 Structure des stockages de masse

Partie 7 : Gestion de la mémoire

SYSTÈME DE GESTION DE FICHIERS

Cours de Système : Gestion de Fichiers

Tutorial Terminal Server sous

CESI Bases de données

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Installation de CPA STUDIO :

Chapitre 3 : Système de gestion de fichiers

TP3 : Manipulation et implantation de systèmes de fichiers 1

Cours A7 : Temps Réel

Programmation impérative

Progression secrétariat

Organiser le disque dur Dossiers Fichiers

Table des matières...2 Introduction...4 Terminologie...4

Gestion répartie de données - 1

Module : Informatique Générale 1. Les commandes MS-DOS

Cours de numérisation sur Epson Perfection

Fichiers, dossiers, enregistrer et arborescence

Systemes d'exploitation des ordinateurs

GESTION DE LA MEMOIRE

PARAGON Disk Wiper. Guide de l utilisateur. Paragon Technology GmbH, System Programmierung. Copyright Paragon Technology GmbH

Démarrer et quitter... 13

La mémoire. Un ordinateur. L'octet. Le bit

Access 2007 FF Access FR FR Base

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Logiciel de base. Première année ENSIMAG

Support de cours système d exploitation

CH.3 SYSTÈMES D'EXPLOITATION

LES SYSTÈMES DE FICHIERS

SGM. Master S.T.S. mention informatique, première année. Isabelle Puaut. Septembre Université de Rennes I - IRISA

Dossier I Découverte de Base d Open Office

INITIATION A L INFORMATIQUE. MODULE : Initiation à l'environnement Windows XP. Table des matières :

26 Centre de Sécurité et de

Windows 2000 Server Active Directory

TD3 - Facturation avec archivage automatisé

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Avertissement : Nos logiciels évoluent rendant parfois les nouvelles versions incompatibles avec les anciennes.

Programmation parallèle et distribuée

La gestion des disques

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

ENVOI EN NOMBRE DE SMS

Acquisition Indexation Classement & Recherche & Stockage Consultation. Solution d archivage sur mesure

Exécutif temps réel Pierre-Yves Duval (cppm)

Cours Base de données relationnelles. M. Boughanem, IUP STRI

PageScope Suite L accélérateur de workflow * L essentiel de l image

Systèmes d exploitation

Cours Programmation Système

ZOTERO Un outil gratuit de gestion de bibliographies

Les fichiers. Chapitre 4

Industrie des cartes de paiement (PCI) Norme de sécurité des données Récapitulatif des modifications de

PROTEGER SA CLE USB AVEC ROHOS MINI-DRIVE

Cours Informatique 1. Monsieur SADOUNI Salheddine

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

B1-4 Administration de réseaux

Présentation du système DNS

Cours Bases de données

Concept de machine virtuelle

Chapitre 1 : Introduction aux bases de données

Manuel d utilisation du logiciel de messagerie personnelle Palm VersaMail 2.5

Cahier n o 6. Mon ordinateur. Fichiers et dossiers Sauvegarde et classement

Évaluation des compétences. Identification du contenu des évaluations. Septembre 2014

TP 1 : prise en main de Windows. TP 1 : prise en main de Windows

Conservation des documents numériques

Fonctions De Base D un Système D Exploitation. I- introduction : II- Gestion des processus :

Le système de gestion des fichiers, les entrées/sorties.

GESTION DU LOGO. 1. Comment gérer votre logo? Format de l image Dimensions de l image Taille de l image 9

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

4.2 Unités d enseignement du M1

ENVOI EN NOMBRE DE SMS

Réparer un disque dur passé en RAW

Backup Exec 2014 Management Pack for Microsoft SCOM. - Guide de l'utilisateur

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

Dans le chapitre 1, nous associions aux fichiers ouverts des descripteurs de fichiers par lesquels nous accédions aux fichiers.

Conventions d écriture et outils de mise au point

Le langage C. Séance n 4

GLOSSAIRE DU SOUTIEN EN CAS DE RECOURS EN JUSTICE

Architecture des ordinateurs

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Introduction aux systèmes temps réel. Iulian Ober IRIT

Liste des évolutions Versions à

Janvier Entretien de l ordinateur

Livre blanc. Au cœur de Diskeeper 2010 avec IntelliWrite

Backup. Solution de sauvegarde en ligne pour les professionnels LE PARTENAIRE SECURITE DE VOTRE ENTREPRISE!

Programmation C. Apprendre à développer des programmes simples dans le langage C

Your Detecting Connection. Manuel de l utilisateur. support@xchange2.net

Installation Windows 2000 Server

Programmation parallèle et distribuée

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Transcription:

Université Cadi Ayyad Faculté Polydisciplinaire de Safi Département sciences mathématiques et informatique Systèmes d'exploitation Chapitre 3: Gestion de fichiers Le stockage fiable, rapide de grandes quantités de données est un critère déterminant de l efficacité d un système d exploitation. Année universitaire: 2010-2011

Plan du cours Introduction aux systèmes de fichiers Structuration des fichiers Structure physique des systèmes de fichiers Stockage des fichiers Stockage des catalogues Organisation de l espace disque Algorithmes d ordonnancement des requêtes.

Introduction aux systèmes de fichiers Un fichier est vu comme une suite d articles ou d enregistrement logiques d un type donné qui ne peuvent être manipulés qu au travers d opérations spécifiques. La formalisation de la notion de fichier, correspondant à un objet nommé, résidant en dehors de l espace d adressage des processus, mais disposant d interfaces permettant la lecture et l écriture de données dans ce derniers. L espace des fichiers et son organisation interne sont appelées génériquement système de (gestion de) fichiers.

Introduction aux systèmes de fichiers Un système de fichiers (SGF) est l entité regroupant les fichiers mémorisés sur disque. Il contient les données des fichiers et un ensemble d information techniques. Le système de fichier offre à l utilisateur une vision homogène et structurée des données et des ressources. Gérant l ensemble de fichier en création, destruction, correspondance avec les dispositifs physiques. Quels sont donc les services attendus d un SGF?

Introduction aux systèmes de fichiers Les services attendus d un SGF : La création de fichiers; La suppression de fichiers et archivage éventuels; La gestion des protections et de droits d accès; L ouverture de fichiers, avec gestion éventuelle des accès concurrents; La fermeture avec libération des ressources utilisées; La lecture et l écriture de données; Le mappage et le dé-mappage des fichiers en mémoire; L accès aléatoire en cas de changement de position; La structuration des données en enregistrements; La troncature et l extension automatique des fichiers.

Structuration des fichiers Selon les systèmes, différentes organisations sont proposées aux utilisateurs pour organiser les données dans les fichiers: Des suites d octets; Des suites d enregistrements; Un arbre d enregistrements de taille variable.

Structuration des fichiers Suites d octets: c est l organisation conceptuellement la plus simple. Le système de fichiers ne gère que des suites d octets sans structure visible. C est leur interprétation par les différents programmes et le système ( pour les fichiers considérés comme des exécutables) qui leur donne une signification. C est l organisation adoptée par de nombreux systèmes comme: UNIX, Dos,: car chaque octet peut être adressé individuellement, et l enregistrement logique à une taille d un octet.

Structuration des fichiers Suites d enregistrements: les fichiers sont structurés en enregistrement de taille fixe, qui ne peuvent être lus qu en totalité, sans possibilité d insertion au milieu de la liste. Ce type d organisation servait aux systèmes d exploitation basé sur disque, appelé CP/M (Control Program for Microcomputers).

Structuration des fichiers Arbre d enregistrements de taille variable: les fichiers sont organisés en enregistrements de taille variable, indexés chacun par une clé, et groupés par blocs de façons hiérarchique. L ajout d un nouvel enregistrement en une position quelconque peut provoquer un éclatement d un bloc en sous-blocs, tout comme la suppression d un enregistrement peut provoquer fusion de blocs peu remplis. Cette organisation de type fichier indexé est proposée par le système de fichiers ISAM «Indexed Sequential Access Method» d IBM.

Structuration des fichiers Types de fichiers: dans tous les systèmes de fichiers, les informations de structure sont considérées comme des fichiers spéciaux, de même que certains moyens de communication inter-processus (pipes, sockets). Les types de fichiers: Fichiers ordinaires: contenant les données utilisateurs; Répertoires (ou catalogues): structure du système permettant d indexer hiérarchiquement d autres fichiers; Fichiers spéciaux de type caractère : modélisent des périphériques d entrée/sortie, comme les terminaux (clavier, écran), les pipes, socket, imprimantes; Fichiers spéciaux de type Bloc : modélisent les périphériques fonctionnant en bloc, comme le disque.

Structuration des fichiers Fichiers ordinaires: ils sont subdivisé en plusieurs types selon leur nature. Cette classification peut être: Un typage fort: dans ce cas le nommage des fichiers fait intervenir la notion d extension, gérée partiellement par le système; Un typage déduit: le système détermine la nature des fichiers par inspection de leur contenu; Un typage polymorphe: les fichiers représentant la sérialisation d objets persistent dans des langages orientés objet ou fonctionnels.

Structuration des fichiers Structure interne d un fichier ordinaire

Structuration des fichiers Catalogues: ils permettent d organiser les fichiers au sein du SGF. Ce sont eux-mêmes des fichiers, interprétés de façon spéciale par le système, et disposant de droits spécifiques pour empêcher toute manipulation directe par les utilisateurs. Ils sont organisés en liste d entrées, chacune fait référence à un fichier unique. Chaque entrée contient les champs suivants: Le nom de l entrée; Le type de l entrée; Sa taille actuelle; Ses informations d accès; L organisation physique du fichier sur le disque.

Structuration des fichiers Les catalogues permettent de définir une organisation hiérarchique arborescente, représenté par un graphe orienté sans cycle. On peut définir deux types de liens dans cette organisation: Liens hard entre répertoires réservée au super-utilisateur; Liens symboliques, interprétés par le système au moment de leur traversée. Avantage: l entrée pointée par le lien symbolique peut changer de contenu sans que le lien symbolique ait besoin d être régénéré. Inconvénient: le lien symbolique peut pointé sur un fichier inexistant..

Structuration des fichiers Les opérations réalisables sur les catalogues comprennent: La création d une entrée d un type donné; La suppression d une entrée existante; Le renommage sur place d une entrée: assimilé à la création d une nouvelle référence, suivie de la suppression de l ancienne; L accès séquentiel aux entrées du catalogue, au moyen d un L accès séquentiel aux entrées du catalogue, au moyen d un itérateur du type opendir/ readdir/ closedir.

Stockage des fichiers: la performance des systèmes de fichiers provient de la rapidité d accès aux fichiers, qui découle elle-même de leur structuration physique sur le disque. Différentes organisations sont possibles: Allocation contiguë; Organisation par listes chaînées; Organisation par I-nœuds.

Allocation contiguë: consiste à allouer les blocs logiques constituant les fichiers de façon contiguë sur le disque. Avantage: la performance des accès (cette approche est implémentée sur le bullet server ) Limite: la contrainte de contiguïté pénalise l allocation de nouveaux fichiers, à cause de la fragmentation externe qu elle engendre. Elle limite aussi l extension automatique des fichiers.

Il faut noter que la contiguïté logique des blocs n implique pas nécessairement la contiguïté physique de ces mêmes blocs sur la surface du disque. Pour optimiser le débit et minimiser la latence entre 2 accès à deux blocs consécutifs, un entrelacement (Interleaving) des secteurs est mise en œuvre, de façon que le délai entre deux demandes d accès à deux blocs consécutifs corresponde au temps de passage de la tête de lecture d un bloc logique à l autre.

Organisation par listes chaînées: où seul le n logique du 1 er bloc est stocké dans le catalogue, une zone spécifique de chaque bloc contenant le numéro logique du prochain bloc de chaînage. Afin d accélérer les accès séquentiels, les chaînages sont séparés par des blocs eux-mêmes. On dispose d une table d entrée indiquant le n de bloc suivant.

Ce système est implémenté par MS-DOS, qui maintient plusieurs copies sur disque de cette table, appelée FAT (File Allocation Table), pour des raisons de fiabilité, ainsi qu une copie en MC pour optimiser les traitements. Avantage: cette implémentation permet d accélérer les accès aux listes chaînées et la séparation physique entre les données et les pointeurs facilitant ainsi le traitement et la sauvegarde des information Limite: le maintien de tables de grande taille, même si peu de blocs sont alloués.

Organisation par I-nœuds : l idée est d associer à chaque fichier la liste de ses blocs, sous la forme d une table de capacité variable. Afin de ne pas causer de surcoût aux petits fichiers, et gérer efficacement les gros. Cette table possède des niveaux d indirection, selon le même principe des tables de pages en MMU. le nombre de blocs de chaînage alloués dépend de la taille du fichier, comptée en nombre de blocs: Moins de 10 blocs: dans l i-nœud lui-même; Moins de 266 blocs: en utilisant un unique bloc d indirection(10+256); Moins de 65802 blocs: 2 niveaux d indirection (10+256+256 2 ); Moins de 16 millions de blocs: 3 niveaux d indirection.

Stockage des catalogues: lorsque le SE doit accéder à un fichier, il utilise le chemin d accès qui lui est fourni et parcourt l arborescence des répertoires, en recherchant à chaque fois l entrée correspondante du chemin dans le catalogue courant. L information portée par chaque entrée dépend de la structuration physique du système de fichiers. Sous CP/M, on disposait d un unique catalogue, dont chaque entrée possédait une liste de 16 numéros de blocs. Si la taille du fichier dépassait ces 16blocs, un champ de l entrée permettait de pointer sur une autre entrée utilisée comme stockage des 16 numéros de blocs suivants, et ainsi de suite.

Sous DOS, chaque entrée contient le numéro du 1 er bloc du fichier, qui sert de point de départ au chaînage des blocs dans FAT Sous UNIX, l entrée contient le numéro de l i-nœud correspondant au fichier, ce qui permet d implémenter les liens hard au sein du même système de fichiers. Les liens symboliques nécessitent un i-nœud et un bloc pour stocker le chemin destination du lien.

Organisation de l espace disque Structuration physique: un disque durs est construits d empilement de disques magnétiques rigides dont la surface est balayé par un ou plusieurs jeux de bras portant des têtes de lecture.

Organisation de l espace disque Cette terminologie adéquate au repérage des blocs sur la surface permet l optimisation des accès. Piste: zone couverte par une tête de lecture en un tour de disque, pour une même position du bras. Cylindre: zone couverte sur tous les disques par l ensemble des têtes de lecture à une position donnée du bras. Secteur: portion de disque représentant une fraction de la surface angulaire totale.

Organisation de l espace disque Taille des blocs (appelé aussi unités d allocation ): Taille des blocs (appelé aussi unités d allocation ): c est un paramètre critique des SGF, une taille trop grande par rapport à la taille moyenne des fichiers générera une perte d espace mémoire, alors qu une taille trop petite ralentira l accès du fait du plus grand nombre de blocs à accéder (déplacement du bras et attente du passage du bon secteur) pour obtenir la attente du passage du bon secteur) pour obtenir la même quantité d informations.

Organisation de l espace disque Mémorisation des blocs libres: pour mémoriser les blocs libres, on a classiquement recours à deux méthodes: Maintenir une liste de blocs libres: ainsi à chaque début de bloc libre, on trouvera le numéro du bloc libre suivant. Maintenir une table de bits représentant l occupation des blocs du disque. La différence entre les performances des deux approches dépend de la mémoire disponible pour stocker ces structures auxiliaires.

Organisation de l espace disque Gestion des blocs endommagés: la gestion des blocs endommagés peut se faire de façon matérielle. On procède au remplacement par des espaces non adressables par l utilisateur, donc le disque dispose d une table de correspondance entre les bloc endommagés et les numéros de bloc de remplacement. Le contrôleur de disque dispose de primitives spécifiques permettant la vérification de la surface de disque et à la recherche des blocs endommagés, et la mise à jour de la table de correspondance. Remarque: le SGF pourra faire la même tâche de façon logicielle, en éliminant les blocs endommagés de la liste des blocs libres.

Organisation de l espace disque Vérification de la cohérence: l utilisation de tampons et de caches sur les disques et le système posent des problèmes de synchronisation et de cohérence des données en cas d arrêt brutal du système. Utilité d avoir des programmes au SGF permettant de le restaurer et vérifier sa cohérence, en préservant si possible l intégrité des données. Sous Windows: Scandisck Sous Unix: Fsck

Organisation de l espace disque Principe: cette vérification s effectue à la fois au niveau des blocs et au niveau des fichiers: On commence par construire une table à 2 compteurs par bloc, un mémorise le nombre de fois que le bloc est supposé faire partie d un fichier, et le deuxième le nombre de fois qu il apparaît dans la liste des blocs libres; On parcourt alors l ensemble des i-nœuds, en parcourant pour chacun la liste de ses blocs déclarés; On parcourt ensuite la liste des blocs libres. Le système est en état cohérent si tous les blocs ont l un des compteurs à un et l autre à zéro.

Organisation de l espace disque Sinon il y a erreur, qui peut être de plusieurs types: Les deux compteurs sont à zéro: le bloc perdu est réaffecté à la liste des blocs libres; Le compteur de fichiers est égal à zéro et le compteur de bloc libre est supérieur à un: les doublons du bloc multiplement libre sont effacés de la liste de blocs libres; Le compteur de fichiers est égal à un et le compteur de bloc libre est >0: les occurrences du bloc faussement libres sont enlevées de la tables des blocs libres; Le compteur de fichier >1: on effectue autant de copies du bloc multiplement utilisé qu il ya de doublons, et on remplace le n de bloc par le n des blocs copiés.

Organisation de l espace disque Une seconde vérification consiste à parcourir l ensemble de l arborescence pour construire une table, indexée par le numéro de l i-nœud, du nombre de répertoires faisant référence à chacun des i-nœuds. Et on compare le nombre de références trouvées à celui conservé dans chaque i-nœud. 2 Erreurs possibles: Valeur compteur > Nombre de références: l i-nœud ne sera jamais réclamé; Valeur compteur < Nombre de références: l i-nœud peut être libéré de façon anticipée.

Services de requêtes La performance du disque dépend de trois paramètres: Le temps de positionnement : nécessaire pour aligner le bras du disque sur le bon cylindre; Le temps de latence: le temps nécessaire pour que le bloc désiré passe sous la tête de lecture/écriture; Le temps de transfert entre la surface du disque et la mémoire centrale. Les disques possèdent une file d attente des requêtes, que le contrôleur de disque gère.

Services de requêtes La gestion de la file par le contrôleur de disque, se fait en stockant des requêtes constituées de champs tels que: La direction de l E/S (lecture ou écriture); L adresse du disque (mémoire de bloc); L adresse en mémoire physique à partir d où, ou vers où, copier les données. Si l unité de disque est disponible, la requête est traitée immédiatement. Cependant, pendant que l unité traite une requête, toutes les requêtes supplémentaires sont placées en file d attente.

Services de requêtes Pour un système un multiprogrammé, la file d attente est souvent non vide. Lorsque en cours est terminée, il s agit donc de choisir la prochaine requête à exécuter afin de minimiser le temps de positionnement des têtes. Plusieurs algorithmes d ordonnancement des requêtes ont été proposés: Ordonnancement FCFS; Ordonnancement SSTF; Ordonnancement SCAN; Ordonnancement C-SCAN.

Services de requêtes Ordonnancement FCFS: «First Come, First Served» Cet algorithme est équitable et facile à programmer; mais ne donne pas les meilleures performances, car il peut provoquer un déplacement frénétique du bras lorsque plusieurs accès séquentiels à des fichiers éloignés les uns des autres sont effectués de façon concurrente.

Services de requêtes Ordonnancement SSTF: «Shortest Seek Time First» le principe est de servir les requêtes proches de la position courante des têtes, avant de déplacer celles-ci vers une autre zone du disque. L algorithme SSTF, sélectionne donc la requête demandant le temps de positionnement le plus petit à partir de la position courante du bras. Limite: conduit à la famine des requêtes éloignées lorsque de nouvelles requêtes proches de la position courante arrivent continuellement.

Services de requêtes Ordonnancement SCAN: «balayage, algorithme ascenseur», le principe est que l on impose de na pas laisser continuellement le bras sur la même zone du disque. L algorithme consiste à placer le bras à une extrémité du disque, puis à le déplacer vers l autre extrémité en s arrêtant au passage pour traiter les requêtes présentes dans la file. Lorsque le bras a atteint l autre extrémité du disque, on inverse le direction du sens de mouvement du bras, les têtes balayant ainsi continuellement la surface du disque.

Services de requêtes Ordonnancement SCAN Limite: si les requêtes arrivant sur le contrôleur sont uniformément distribuées, lorsque le bras arrive à une extrémité du disque, il existe relativement peu de requêtes proches de lui, et les requêtes les plus anciennes sont situées le plus loin de lui.

Services de requêtes Ordonnancement C-SCAN : «Circular SCAN» fait pareil que l algorithme SCAN, il déplace le bras d une extrémité à l autre du disque en servant des requêtes au passage. Mais lorsqu il arrive à l autre extrémité du disque, il renvoie immédiatement le bras au début du disque, sans traiter les requêtes au passage, afin de servir rapidement les requêtes les plus anciennes, et d uniformiser ainsi le temps d attente. Pratiquement le bras s arrête à la dernière requête traitée. Cette version efficace de l algorithme est appelée C-LOOK.

Conclusion Les performances relatives de tous ces algorithmes dépendent du nombre et du type des requêtes. Lorsque les contrôleurs sont peu sollicités, l ordonnancement SSTF donne un très bon résultat, alors que les algorithmes SCAN et C-SCAN se comportent mieux lorsque la charge augmente. Le service de requêtes dépend fortement de la Le service de requêtes dépend fortement de la méthode d allocation des fichiers. Ainsi un programme lisant un fichier d une manière séquentielle générera des accès proches, alors qu avec un fichier indexé les requêtes seront éparpillées sur le disque.