SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE



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

Chapitre 3 : Système de gestion de fichiers

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èmes d Exploitation - ENSIN6U3. Aix-Marseille Université

LES SYSTÈMES DE FICHIERS

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

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

Système de Gestion de Fichiers

Cours de Système : Gestion de Fichiers

Gestion répartie de données - 1

Systemes d'exploitation des ordinateurs

Le Network File System de Sun (NFS)

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

Chapitre 1 : Introduction aux bases de données

GESTION DE LA MEMOIRE

TD séances n 3 et n 4 Répertoires et Fichiers sous Unix

Partie 7 : Gestion de la mémoire

Systèmes d exploitation

Structure fonctionnelle d un SGBD

Virtual PC Virtual PC 2007 Page I

Certificat Informatique et internet Niveau 1 TD D1. Domaine 1 : Travailler dans un environnement numérique évolutif. 1. Généralités : Filière

Implémentation des SGBD

Le protocole ARP (Address Resolution Protocol) Résolution d adresses et autoconfiguration. Les protocoles ARP, RARP, TFTP, BOOTP, DHCP

PARAGON SYSTEM BACKUP 2010

Windows 2000: W2K: Architecture. Introduction. W2K: amélioration du noyau. Gamme windows W2K pro: configuration.

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

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Module 0 : Présentation de Windows 2000

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

Sécuriser un équipement numérique mobile TABLE DES MATIERES

CARPE. Documentation Informatique S E T R A. Version Août CARPE (Documentation Informatique) 1

Serveur d application WebDev

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Démarrer et quitter... 13

Les bases de données Page 1 / 8

Symantec Backup Exec Remote Media Agent for Linux Servers

Gestion des transactions et accès concurrents dans les bases de données relationnelles

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

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

Architecture des ordinateurs. Environnement Windows : sauvegarde

Restriction sur matériels d impression

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

GUIDE DE L UTILISATEUR Recoveo Récupérateur de données

Logiciel de gestion d'imprimantes MarkVision

Fichiers, dossiers, enregistrer et arborescence

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

IFT3030 Base de données. Chapitre 2 Architecture d une base de données

ésylog, direction technique Esylog_PeerBackup outil de sauvegarde individuelle mails & fichiers personnels documentation technique

Technologie SDS (Software-Defined Storage) de DataCore

1.1 L EXPLORATEUR WINDOWS

Bernard HAMM, Évelyne LAVOISIER

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Le service FTP. M.BOUABID, Page 1 sur 5

Annexe : La Programmation Informatique

Compression de Données - Algorithme de Huffman Document de Conception

Mémoire de l'imprimante

Windows Server 2012 R2

ORACLE TUNING PACK 11G

Microsoft Windows NT Server

ASR3. Partie 4 Le système de fichier. Arnaud Clérentin, IUT d Amiens, département Informatique

Cours 6 : Tubes anonymes et nommés

CH.3 SYSTÈMES D'EXPLOITATION

G.U.S.T.A.V. Gestion Unifiée des Systèmes de fichiers Transposée aux Appareillages Virtuels G U S T A V

gestion des processus La gestion des processus

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

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

La console MMC. La console MMC Chapitre 13 02/08/2009

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

Manuel d'installation

Gestion des documents associés

Personnes ressources Tice. Académie de Rouen

CLOUD CP3S SOLUTION D INFRASTRUCTURE SOUMIS À LA LÉGISLATION FRANÇAISE. La virtualisation au service de l entreprise. Évolutivité. Puissance.

Introduction aux SGBDR

INTRODUCTION À L INFORMATIQUE. Etsup 2012 Florian JACQUES

Créer et partager des fichiers

l'ordinateur les bases

Cours Bases de données

CESI Bases de données

A -Systèmes de fichiers 1 - FAT vs NTFS

Sur un ordinateur exécutant Windows 2000 Server Ayant une adresse IP statique

Placez vous au préalable à l endroit voulu dans l arborescence avant de cliquer sur l icône Nouveau Répertoire

COUCHE 7/OSI : TRANSFERT DE FICHIERS FTAM

CONDITIONS PARTICULIÈRES DES HÉBERGEMENTS MUTUALISES DE SITES INTERNET

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Samsung Drive Manager Manuel d'utilisation

Guide d'utilisation du Serveur USB

Description de SQL SERVER. historique

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

Service de certificat

Fiche technique: Archivage Symantec Enterprise Vault for Microsoft Exchange Stocker, gérer et rechercher les informations stratégiques de l'entreprise

Configuration automatique

Le modèle de sécurité windows

Réseaux Active Directory

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

WINDOWS SERVER 2003 Maintenance d'active directory V1.0

DirXML License Auditing Tool version Guide de l'utilisateur

VRM Video Recording Manager Version Manuel d'utilisation

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

Transcription:

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE C.Crochepeyre MPS_SGF 2000-20001 Diapason 1

Les couches logiciels réponse SGF requête matériel matériel Requêtes E/S Système E/S Pilote E/S Interruptions Contrôleur E/S Périphérique utilisateur traitement S.E. commandes S.E. S.E. accès unité C.Crochepeyre MPS_SGF 2000-20001 Diapason 2

Introduction Partie visible du système d'exploitation interface commandes requêtes fonctionnalités fiabilité Partie cachée gestion des données: fichiers organisation accès C.Crochepeyre MPS_SGF 2000-20001 Diapason 3

Les concepts logiques Les concepts: Fichier Enregistrement Les concepts logiques ont pour but: de ranger de manière rationnelle les données sur disque de rendre transparents à l'utilisateur les concepts physiques de gérer les fichiers indépendamment des périphériques Les concepts logiques sont gérés par le SGF Le SGF s'appuie sur la gestion des concepts physiques C.Crochepeyre MPS_SGF 2000-20001 Diapason 4

La construction du concept 'fichier' octet 1 octet = 8 bits 0100 0011 4 3 C 1 caractère ascii secteur fichier 1 secteur = 512 octets 512 caractères 1 fichier C.Crochepeyre MPS_SGF 2000-20001 Diapason 5

Les différents concepts 'fichier' Selon le SGF, le fichier est : - une simple suite d'octets - une suite d'enregistrements - une arborescence de blocs gestion des secteurs gestion des enregistrements gestion des blocs v v v fichier fichier fichier C.Crochepeyre MPS_SGF 2000-20001 Diapason 6

Les fichiers sur disque regroupement des informations par entité informations de l'entité 1 informations de l'entité 2 informations de l'entité 3 C.Crochepeyre MPS_SGF 2000-20001 Diapason 7

La nomination des fichiers Les fichiers sont repérés sur le disque par un nom: FICHIER.C FICHIER.PAS FICHIER.BIN FICHIER.LIB FICHIER.TXT FICHIER.DAT programme source en C programme source en pascal programme binaire exécutable fichier librairie fichier texte fichier données Les noms de fichiers respectent la syntaxe imposée par le SGF: - longueur maxi d'un nom - jeu de caractères autorisé pour le nom - extension différenciant la nature du fichier... C.Crochepeyre MPS_SGF 2000-20001 Diapason 8

Le concept 'enregistrement' L'enregistrement: Ensemble de données décrivant un objet d'une même entité 1 ligne de programme source 1 ligne de texte 1 instruction codée binaire L'accès aux données d'un fichier se fait en fournissant au SGF: - le nom du fichier - le n d'enregistrement dans ce fichier Ce concept d'enregistrement n'existe pas toujours: - accès à partir d'un pointeur dans le fichier C.Crochepeyre MPS_SGF 2000-20001 Diapason 9

L'enregistrement structuré Plusieurs types d'enregistrements sont possibles selon le SGF: - enregistrement = bloc = données - enregistrement = bloc = zones de données Zone: Chaque zone est une représentation d'un objet de l'entité Entité: article n nom_article référence_article clé v Zone nom_article Clé: Donnée identifiant de manière unique chaque entité C.Crochepeyre MPS_SGF 2000-20001 Diapason 10

L'enregistrement structuré Plusieurs moyens pour répérer l'emplacement physique d'un enregistrement: par la clé clé clé clé par le rang 1 2 3 par l'adresse sect C.Crochepeyre MPS_SGF 2000-20001 Diapason 11

La longueur de l'enregisrement La longueur fixe: - tous les enregistrements d'un même fichier sont de même longueur Facilité de gestion Risque de perte de place importante La longueur variable: - chaque enregistrement a sa propre longueur Complexité de gestion Occupation optimisée de l'espace C.Crochepeyre MPS_SGF 2000-20001 Diapason 12

La gestion des enregistrements Accès aux enregistrements de longueur fixe: - connaître l'emplacement du premier enregistrement - connaître la longueur + long + long + long + long Accès aux enregistrements de longueur variable: - connaître l'emplacement du premier enregistrement - connaître la longueur de chaque enregistrement long 1 long 2 long 3 long 4 long 5 C.Crochepeyre MPS_SGF 2000-20001 Diapason 13

Les concepts logiques - les concepts physiques enregistrement ceci est un enregistrement d' une ligne de texte saisie au clavier secteur 21 secteur 22 secteur 23 secteur 24 secteur ceci est un enregistrement d' une ligne de tex te saisie au clavier suite de secteurs C.Crochepeyre MPS_SGF 2000-20001 Diapason 14

Le calcul de l'adresse physique de chaque enregistrement Connaître la position du 1er enregistrement du fichier: - soit l'adresse logique: n secteur logique - n bloc - soit l'adresse physique: n face, n piste, n secteur Connaître le déplacement pour chaque enregistrement: - soit le nombre d'octets - soit un chaînage sur l'enregistrement suivant chaînage: - adresse de l'enregistrement suivant C.Crochepeyre MPS_SGF 2000-20001 Diapason 15

Le bloc physique Pour un meilleur compromis: temps d'accès et capacité de stockage certains SGF organisent l'espace du disque en blocs de secteurs ex: 1 bloc = 2 secteurs de 512 octets soit 1KO Les opérations de lecture et d'écriture du SGF se font bloc par bloc sect sect sect sect Bloc 1 Bloc 2 Bloc 3 Bloc 4 C.Crochepeyre MPS_SGF 2000-20001 Diapason 16

Gestion des blocs libres chaînage des blocs entre eux => adresse du bloc suivant liste chaînée des n des blocs libres table de bits des blocs libres 14 2016 258 311 1965 784 69 56 566 254 81 388 3677 550 1001111000100001111 0001101010001101100 0110100101111111000 0001111100000111111 0000001111111011111 1010111000111011001 C.Crochepeyre MPS_SGF 2000-20001 Diapason 17

Exemple de MS-DOS La FAT File Allocation Table Table d'allocation des fichiers 0 1 2 3 4 5 6 7 8 9 x x EOF 6 EOF 9 mauvais 4 fichier_a: 3 6 9 4 C.Crochepeyre MPS_SGF 2000-20001 Diapason 18

Exemple d'unix Une table i-node par fichier sur le disque noeud du fichier pointeurs sur les blocs de données pointeurs sur les blocs de données 10 n de blocs pointeur 1 indirection pointeurs 2 indirections pointeurs 3 indirections pointeurs sur les blocs de données C.Crochepeyre MPS_SGF 2000-20001 Diapason 19

Le blocage d'enregistrements 1 bloc logique = n enregistrements Lorsque plusieurs enregistrements sont transférés ensemble lors d'un échange, on dit qu'ils sont bloqués. Le facteur de blocage est le nombre n d'enregistrements par bloc logique Enregistrement n Enregistrement n+1 Enregistrement n+2 V BLOC logique Le facteur de blocage est calculé de manière à occuper au mieux les blocs physiques C.Crochepeyre MPS_SGF 2000-20001 Diapason 20

Le fichier LE FICHIER Un fichier est le regroupement de tous les enregistrements décrivant le même type d'entité FICHIER: Enregistrement 1 Enregistrement 2 Enregistrement 3 Enregistrement 4 Enregistrement 5 Enregistrement 6 - - - - Enregistrement n-2 Enregistrement n-1 Enregistrement n Avantage: Rapidité de sélection des enregistrements concernés par un traitement C.Crochepeyre MPS_SGF 2000-20001 Diapason 21

Le volume LE VOLUME le volume est l'ensemble des fichiers se trouvant sur un même support fichier fichier > VOLUME fichier C.Crochepeyre MPS_SGF 2000-20001 Diapason 22

Le répertoire Le répertoire est une table sur le support permettant de référencer tous les fichiers existants du volume avec leur nom et leurs caractéristiques principales Le répertoire stocke pour chaque fichier l'adresse du premier enregistrement Répertoire fichier fichier fichier C.Crochepeyre MPS_SGF 2000-20001 Diapason 23

Composition du répertoire Un répertoire est une zone disque réservée par le SGF. Le répertoire comprend un certain nombre d'entrées. Une entrée est allouée à chaque fichier du disque répertoire entrée entrée entrée entrée entrée - Nom du fichier - Type du fichier - Taille du fichier - Propriétaire - Protection - Date de création - Adresse du 1er enregistrement 1 entrée C.Crochepeyre MPS_SGF 2000-20001 Diapason 24

Organisation des répertoires 1 répertoire répertoire racine A B sous-répertoire C - nom du fichier D E 1 2 3 - chemin d'accès A/B/E/ - nom du fichier FIC_3 C.Crochepeyre MPS_SGF 2000-20001 Diapason 25

Les fichiers partagés A répertoire racine Jacques sous-répertoire Bertrand D E 1 2 3 compteur de liens = 2 - Propriété des fichiers par sous-répertoire - Partage d'un même fichier par deux usagers C.Crochepeyre MPS_SGF 2000-20001 Diapason 26

Exemple de MS_DOS Chaque fichier occupe 32 octets dans le répertoire nom_fichier ext A H D B taille attribut date heure N 1er Bloc Un sous-répertoire occupe une entrée comme un fichier le répertoire racine a 112 entrées les autres sous-répertoires n'ont pas d'entrées limitées C.Crochepeyre MPS_SGF 2000-20001 Diapason 27

Exemple d'unix répertoire racine 1 1 4 7 5 3 9 8... bin dev lib etc usr tmp i-node 9 info 125 bloc 125 9. 1.. 17 claude 57 luc 44 prog i-node 44 info 688 ss-répertoire /usr /usr/prog n i-node C.Crochepeyre MPS_SGF 2000-20001 Diapason 28

Allocation de l'espace du disque Répertoire allocation statique ou dynamique Données des fichiers allocation statique ou dynamique C.Crochepeyre MPS_SGF 2000-20001 Diapason 29

Allocation de l'espace d'un fichier allocation statique de l'espace du fichier Les enregistrements d'un même fichier sont contigus FIC_A FIC_C FIC_F répertoire à la création du fichier : réservation d'un nombre de blocs contigus données C.Crochepeyre MPS_SGF 2000-20001 Diapason 30

Allocation statique Phase d'initialisation SGF: espace libre - réservation de l'emplacement du répertoire les entrées sont initialisées comme étant libres - pointeur vers le 1er emplacement libre C.Crochepeyre MPS_SGF 2000-20001 Diapason 31

Allocation statique A la création du fichier: A C F - calcul de l'emplacement nécessaire: nb d'enregistrements prévus * long d'un enregistrement - recherche d'un emplacement libre correspondant - si oui création d'une entrée dans le répertoire avec maj du pointeur 1er emplacement Cet emplacement ne fait plus partie de l'espace libre - maj du pointeur vers le 1er emplacement libre C.Crochepeyre MPS_SGF 2000-20001 Diapason 32

Allocation statique A C F A la création d'un enregistrement: - place disponible dans l'espace réservé du fichier? si oui - occupation d'un emplacement dans l'espace réservé débordement si non - soit allocation d'un emplacement supplémentaire (débordement) - soit déplacement dans un espace plus grand (réorganisation) C.Crochepeyre MPS_SGF 2000-20001 Diapason 33

Allocation statique A C F A la suppression d'un enregistrement: - aucune récupération d'espace mais: - possibilité de récupération de l'emplacement de l'enregistrement supprimé: marquage Compteur: un compteur d'enregistrements est mis à jour dans le répertoire - si 0 aucun enregistrement - si <>0 n enregistrements C.Crochepeyre MPS_SGF 2000-20001 Diapason 34

Allocation de l'espace d'un fichier allocation dynamique de l'espace du fichier Les enregistrements d'un même fichier sont chaînés entre eux FIC_A FIC_C FIC_F répertoire occupation de l'espace au fur et à mesure des créations d'enregistrements * données C.Crochepeyre MPS_SGF 2000-20001 Diapason 35

Allocation dynamique Phase d'initialisation SGF: espace libre - réservation de l'emplacement du répertoire les entrées sont initialisées comme étant libres - pointeur vers le 1er emplacement libre C.Crochepeyre MPS_SGF 2000-20001 Diapason 36

Allocation dynamique A C F création du fichier: - à la création du 1er enregistrement - pas de réservation préalable d'un emplacement * A la création d'un enregistrement: - place disponible dans l'espace libre? si oui - occupation d'un emplacement dans l'espace libre - maj du pointeur vers 1er emplacement libre si non - plus de place libre C.Crochepeyre MPS_SGF 2000-20001 Diapason 37

Allocation dynamique A C F Création d'un enregistrement: * - utilisation du premier enregistrement libre. maj pointeur1er libre - si 1er enregistrement du fichier. création entrée dans répertoire. maj pointeur du 1er enregistrement dans répertoire. maj pointeur dernier enregistrement dans répertoire. chaînage de l'enregistrement: * (dernier) C.Crochepeyre MPS_SGF 2000-20001 Diapason 38

Allocation dynamique A C F Création d'un enregistrement: * P - si nième enregistrement du fichier. maj pointeur dernier enregistrement dans répertoire. chaînage dernier enregistrement vers nouvel enregistrement. chaînage de l'enregistrement: * (dernier) C.Crochepeyre MPS_SGF 2000-20001 Diapason 39

Allocation dynamique A C F Suppression d'un enregistrement: - si 1er enregistrement du fichier. maj pointeur du 1er enregistrement dans répertoire - chaînage enregistrement libéré avec le dernier libre * C.Crochepeyre MPS_SGF 2000-20001 Diapason 40

Allocation dynamique A C F Suppression d'un enregistrement: - si nième enregistrement du fichier. chaînage enregistrement précédent vers enregistrement suivant - chaînage enregistrement libéré avec le dernier libre * C.Crochepeyre MPS_SGF 2000-20001 Diapason 41

Allocation dynamique A C F Suppression d'un enregistrement: * - si dernier enregistrement du fichier. maj pointeur dernier enregistrement dans répertoire. chaînage avant-dernier enregistrement : * (dernier) - chaînage enregistrement libéré avec le dernier libre C.Crochepeyre MPS_SGF 2000-20001 Diapason 42

Les organisations de fichiers Selon l'allocation de l'espace disque qu'utilise le SGF plusieurs organisations de fichiers sont possibles - séquentielle allocation statique - séquentielle chaînée allocation dynamique C.Crochepeyre MPS_SGF 2000-20001 Diapason 43

Les organisations de fichiers Organisation séquentielle indexée: - table d'index - fichier des données Principe: - recherche d'un enregistrement dans une partie du fichier avantages: - rapidité d'accès inconvénients: - double accès - stockage des index 0-100 100-200 200-300 300-400 400-500 table index fichier séquentiel C.Crochepeyre MPS_SGF 2000-20001 Diapason 44

Les organisations de fichiers Organisation aléatoire: Aucun lien ne relie les enregistrements entre eux Les emplacements des enregistrements sont calculés: H-coding n enregistrement adresse C.Crochepeyre MPS_SGF 2000-20001 Diapason 45

Les accès Comment accéder aux emplacements des enregistrements? Quelques méthodes d'accès: - séquentielle si organisation séquentielle - séquentielle-indexée si organisation séquentielle-indexée - séquentielle chaînée si organisation séquentielle-indexée - calculé si organisation aléatoire et H-Coding - relatif si organisation séquentielle et format fixe - direct si adresse physique connue - indirect si 1er accès donne adresse du 2scd Un SGF gère quelques méthodes ces méthodes sont parfois particulières au SGF Elles dépendent des organisations C.Crochepeyre MPS_SGF 2000-20001 Diapason 46

Accès séquentiel - Accès au premier enregistrement: adresse dans le répertoire - organisation séquentielle 1 2 3 4 si longueur fixe: adresse suivant = adresse + longueur fixe L L 2 L 3 L 4 si longueur variable: adresse suivant = adresse + longueur variable pour chaque enregistrement C.Crochepeyre MPS_SGF 2000-20001 Diapason 47

Accès séquentiel chaîné - séquentielle chaînée 1 Ad 2 Ad 3 * longueur fixe ou variable C.Crochepeyre MPS_SGF 2000-20001 Diapason 48

Accès séquentiel-indexé - Accès au premier élément de la table d'index: répertoire - la table d'index est transférée en mémoire - recherche plage dans table - accès à la première adresse - lecture séquentielle jusqu'à l'enregistrement recherché 100 200 300 400 500 Ad Ad Ad Ad Ad table index fichier séquentiel C.Crochepeyre MPS_SGF 2000-20001 Diapason 49

Accès calculé Le calcul de l'emplacement de l'enregistrement se fait par une fonction connue du SGF - fournir la clé de l'enregistrement - le SGF applique une fonction (H_Coding) - le résultat donne l'adresse ex: clé:011203 -> face 01 -> piste 12 -> secteur 03 C.Crochepeyre MPS_SGF 2000-20001 Diapason 50

Accès relatif - organisation séquentielle 1 2 3 4 si longueur fixe: si N: nième enregistrement adresse = adresse début + (N-1) * longueur fixe - séquentielle chaînée 1 Ad 2 Ad 3 * lecture des enregistrements jusqu'à celui recherché C.Crochepeyre MPS_SGF 2000-20001 Diapason 51

Accès direct adresse physique du début de l'enregistrement C.Crochepeyre MPS_SGF 2000-20001 Diapason 52

Accès indirect 1 Ad - à la lecture d'un premier enregistrement le SGF récupère l'adresse de l'enregistrement à lire - l'emplacement de l'adresse doit être connu du SGF C.Crochepeyre MPS_SGF 2000-20001 Diapason 53

Les commandes et les requêtes les commandes: - interface SGF utilisateurs - langage de commande ex: shell d'unix, commandes MS-DOS - niveau fichiers et non contenu des fichiers >> DIR liste du répertoire courant MS-DOS $ ls -la liste du répertoire courant Unix les requêtes: - interface SGF logiciel - appel dans un programme aux fonctions du SGF (langage C, Cobol...) - niveau fichier et enregistrements read (fic, tampon, nb_oct) C.Crochepeyre MPS_SGF 2000-20001 Diapason 54

Les commandes Les commandes du S.E. incluent un certain nombre de commandes SGF Langage de commandes Quelques commandes du SGF: - liste du répertoire - changement de répertoire - création sous-répertoire - suppression sous-répertoire - création fichier (allocation statique) - suppression fichier - modification d'attributs d'un fichier - changement de nom de fichier... Au lancement d'une commande -> appel à la fonction du SGF C.Crochepeyre MPS_SGF 2000-20001 Diapason 55

Les requêtes Les requêtes sont des appels aux fonctions SGF dans un programme. Les requêtes permettent de modifier le contenu des fichiers Quelques requêtes du SGF: - ouverture fichier - fermeture fichier et - lecture d'enregistrement - écriture d'enregistrement ou - création d'un enregistrement - suppression d'un enregistrement - modification d'un enregistrement C.Crochepeyre MPS_SGF 2000-20001 Diapason 56

Ouverture fichier OPEN (fic, n, descripteur, L/E) L'ouverture - vérifie l'exitence du fichier dans le répertoire du disque - transfert les éléments dans le descripteur correspondant en mémoire Le descripteur: - nom du fichier - n logique correspondant - pointeur sur 1er enregistrement du fichier - autorisation d'accès: L lecture E: écriture... Le descripteur est conservé et mis à jour en mémoire jusqu'à la fermeture C.Crochepeyre MPS_SGF 2000-20001 Diapason 57

Lecture fichier READ (n fic, accès, tampon, n enregistrement) La lecture d'un fichier nécessite: - n logique du fichier du descripteur - mode d'accès demandé compatible avec l'organisation - l'adresse mémoire de la zone réceptrice de l'enregistrement - n de l'enregistrement qui peut:. ne pas exister si lecture séquentielle. être une clé. être le rang si accès relatif... Cette fonction n'agit pas sur le contenu du descripteur (lecture) Les données lues sont tranférées dans le tampon mémoire Plusieurs requêtes peuvent exister avec des fonctionnalités différentes C.Crochepeyre MPS_SGF 2000-20001 Diapason 58

Ecriture fichier WRITE (n fic, accès, tampon, n enregistrement) L'écriture dans un fichier nécessite: - n logique du fichier du descripteur - mode d'accès demandé compatible avec l'organisation - l'adresse mémoire de la zone émettrice de l'enregistrement - n de l'enregistrement qui peut:. ne pas exister si écriture séquentielle. être une nouvelle clé (contrôle unicité). être le rang si accès relatif... Cette fonction met à jour certains éléments du descripteur Gestion des pointeurs ou tables d'allocation des espaces Les données sont transférées du tampon mémoire vers le fichier Plusieurs requêtes peuvent exister avec des fonctionnalités différentes C.Crochepeyre MPS_SGF 2000-20001 Diapason 59

Fermeture fichier CLOSE ( n fic, descripteur) La fermeture: - transfert les éléments du descripteur vers le répertoire sur le disque - les pointeurs vers l'espace libre sont mis à jour - d'autres accès sont alors possibles C.Crochepeyre MPS_SGF 2000-20001 Diapason 60

Les serveurs de fichiers Partage de fichiers à distance disque dur C.Crochepeyre MPS_SGF 2000-20001 Diapason 61

Le disque déporté Allocation d'un espace du disque pour chaque utilisateur: disque virtuel - même interface qu'un SGF local - simulation du contrôleur par le réseau Accès à des fichiers à distance: - création du fichier - retour par le serveur de fichiers d'un n de fichier: identificateur - accès à ce fichier uniquement avec le n identificateur SGF serveur de fichiers: - le serveur offre un SGF complet - transparence total de la localisation des répertoires, des fichiers... C.Crochepeyre MPS_SGF 2000-20001 Diapason 62

La mise à jour Pour assurer la cohérence des données Mise à jour atomique: - lecture ou écriture d'un enregistrement complète et non partielle Sauvegarde stable: - deux disques sont mis à jour à des emplacements physiques identiques - contrôle périodique par le serveur de l'égalité de chaque bloc. si bloc endommagé recopie du bloc Fichiers à plusieurs versions: - les mises à jour sont effectuées sur une copie - fichiers datés C.Crochepeyre MPS_SGF 2000-20001 Diapason 63

Les accès concurrents Ex: maj simultanées d'un enregistrement dans un fichier - Z=500 - maj P1 -> Z= Z+200 et P2 -> Z+Z+300 => Z=1000 - P1 lit Z=500 - P2 lit Z=500 - P1 Z=500+200 => Z=700 - P2 Z=500+300 => Z=800 => Z=800 faux SOLUTIONS: - sérialiser les mises à jour - verrouillage du fichier lors d'un accès Algorithmes de contrôle d'accès concurrents C.Crochepeyre MPS_SGF 2000-20001 Diapason 64

Les transactions Une transaction s'exécute à terme de l'opération client BEGIN TRANSACTION serveur client échanges serveur client END TRANSACTION serveur validation MAJ C.Crochepeyre MPS_SGF 2000-20001 Diapason 65

Les transactions BEGIN TRANSACTION: Serveur - crée un enregistrement de la transaction - verrouille l'accès au fichier - copie du fichier dès la première tentative d'écriture les maj se font sur la copie END TRANSACTION: Serveur - crée une liste d'intentions - copie la liste dans l'enregistrement de la transaction - interdit toute opération jusqu'à la fin de la transaction - met à jour tous les blocs du fichier (maj atomique) - déverrouille le fichier - validation C.Crochepeyre MPS_SGF 2000-20001 Diapason 66

Les fichiers dupliqués Certains SGF dupliquent n fois les fichiers Nom_Fichier noeud1 noeud2 noeud3 noeud4 Nom_Fic1 Nom_Fic2 Nom_Fic3 45 56 55 865 54 59 659 75 26 84 99 77 En cas de modification: - maj des blocs des copies ou - nouvelles copies C.Crochepeyre MPS_SGF 2000-20001 Diapason 67

La sécurité Protection des informations contre des accès non autorisés Les pertes de données: - catastrophes: incendie, feu... - erreurs matérielles et logicielles: panne, bogues - erreurs humaines: saisie erronée, mauvais programme,... prévention: sauvegarde des fichiers Les intrus: - indiscrétion - contournement des obstacles d'accès par plaisir... - gain financier: transfert de comptes bancaires - espionnage C.Crochepeyre MPS_SGF 2000-20001 Diapason 68

Quelques cas Failles du SGF des anciennes versions d'unix: - lpr impression puis effacement du fichier mots de passe - core fichier lié au fichier des mots de passe: effacement et remplacement - mkdir création d'un répertoire: uid = racine puis uid = propriétaire par chown entre mkdir et chown se mettre propriétaire Le cheval de Troie: - modification d'un programme de manière à fonctionner normalement mais en effectuant en plus des opérations illicites. C.Crochepeyre MPS_SGF 2000-20001 Diapason 69

Les moyens de sécurité Les droits d'accès: - identificateur des utilisateurs: mot de passe > Unix nom d'usager mot de passe associé > autres méthodes: - quelques questions précises (2/3) avec réponses sont stockées le S.E. pose une question au hasard - algorithme connu de l'utilisateur: 5 * N Le S.E. donne 4 l'usager doit répondre 20 - Identification physique > carte magnétique, signature, voix,... C.Crochepeyre MPS_SGF 2000-20001 Diapason 70

La protection La protection des fichiers par des droits d'accès fich1 fich2 fich3 droits droits droits fich1 [r, w, x] fich2 [x] fich1 [r, w] Par leur appartenance à des domaines fich1 [r, w, x] fich1 [r, w] fich2 [x] imprimante [w] ex: Unix domaines d'accès: propriétaire,,groupe ou autre domaines d'exécution: utilisateur ou noyau C.Crochepeyre MPS_SGF 2000-20001 Diapason 71

CONCLUSION Le SGF du S.E est une partie complexe mais necessaire: - il permet de stocker des données sur un support externe - il utilise des concepts logiques faciles à mettre en oeuvre - il décharge l'utilisateur de tout concept physique - il peut être utilisé en mode commande ou dans un applicatif en mode requête Chaque S.E. à son propre SGF avec ses caractéristiques: - organisations - modes d'accès - enregistrement plus ou moins structuré - multiutilisateurs - niveau de protection et sécurité C.Crochepeyre MPS_SGF 2000-20001 Diapason 72