Télécharger la présentation
1
Système de gestion fichiers
SGF - Disque
2
Les couches logiciels réponse requête SGF Requêtes E/S Système E/S
utilisateur Système E/S Traitement - SE Pilote E/S Commandes — SE Interruptions SE Contrôleur E/S matériel Périphérique matériel
3
Introduction Partie visible du système d ’exploitation Partie cachée
Interface Commandes Requêtes Fonctionnalités Fiabilité Partie cachée Gestion des données : fichiers Organisation Accès
4
Concepts logiques Les concepts Les concepts logiques ont pour but
Fichiers Enregistrements Les concepts logiques ont pour but Ranger de manière rationnelle les données sur disque Rendre transparent à l’utilisateur les concepts physiques Gérer les fichiers indépendamment des périphériques Les concepts logiques Gérés par le SGF Le SGF s’appuie sur la gestion des concepts physiques
5
Construction du concept de « fichier »
octet 0100 0011 1 octet = 8 bits 4 3 C 1 caractère ASCII secteur … 1 secteur = 512 octets 512 caractères ASCII fichier 1 fichier = n secteurs
6
Différents concepts de « fichier »
Selon le SGF, le fichier est : Une simple suite d’octets gestion des secteurs Une suite d’enregistrements gestion des enregistrements Une arborescence de blocs gestion des blocs fichier fichier fichier
7
Les fichiers sur disque
Regroupement des informations par entités Informations de l’entité 1 Informations de l’entité 2 Disque Informations de l’entité 3
8
Noms de fichiers Les fichiers sont repérés sur disque par un nom :
FICHIER . C programme source en C FICHIER . PAS programme source en Pascal FICHIER . BIN programme binaire exécutable FICHIER . LIB fichier librairie FICHIER . TXT fichier texte FICHIER . DAT fichier de données Les noms de fichiers respectent une syntaxe Imposée par le SGF Longueur maximale d’un nom (MS-DOS = 8) Jeu de caractères Extension (spécifie la nature du fichier)
9
Enregistrement Ensemble de données décrivant un objet
d’une même entité L’accès aux données d’un fichier se fait en fournissant : Nom de fichier N° d’enregistrement dans ce fichier Alternativement Accès à partir d’un pointeur dans le fichier 1 ligne de programme 1 ligne de texte 1 instruction binaire (codée)
10
Enregistrement structuré
Plusieurs types possibles selon le SGF Enregistrement = bloc = données Enregistrement = bloc = zone de données Zone Chaque zone est une représentation d’un objet de l’entité Clé Donnée identifiant de manière unique chaque entité Clé Nom_article Référence_article
11
Enregistrement structuré
Comment repérer son emplacement physique ? Plusieurs moyens Par la clé Par le rang Par l’adresse clé clé clé 1 2 3 secteur
12
Longueur de l’enregistrement
Longueur fixe Tous les enregistrements sont de même longueur Facilité de gestion Risque de perte de place importante Longueur variable Tous les enregistrements ont leur propre longueur Complexité de gestion Occupation optimisée de l’espace
13
Gestion des enregistrements
Accès en longueur fixe Connaître l’emplacement du premier enregistrement Connaître la longueur Accès en longueur variable Connaître la longueur de chaque enregistrement + long + long + long + long + 1ong l + long 2 + l 3 + long 4 + long 5
14
Concepts logiques — concepts physiques
enregistrement concepts logiques Ceci est un enregistrement d’une ligne de texte saisie au clavier Secteur 21 Secteur 22 Secteur 23 Secteur 24 Secteur 25 Ceci_est_un_enregistrement_d’une_ligne_de_texte_saisie_au_clavier Suite de secteurs concepts physiques
15
Calcul d’adresse physique
Pour chaque enregistrement Connaître la position du 1er enregistrement du fichier Adresse logique: n° de secteur logique, n° bloc 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
16
Le bloc physique Pour un meilleur compromis =
Temps d’accès et capacité de stockage Certains SGF organise l’espace du disque en blocs de secteurs Ex : 1 bloc = 2 secteurs de 512 octet (= 1 Ko) Les opérations de lectures et d’écriture du SGF se font bloc par bloc = sect sect sect sect Bloc 1 Bloc 2 Bloc 3 Bloc 4 Bloc 5
17
Gestion des blocs libres
Chaînage Des blocs entre eux adresse du bloc suivant Liste chaînée des n° des blocs libres Table des bits des blocs libres 14 56 2016 566 258 254 311 81 1965 388 784 3677 69 550
18
Gestion des blocs : Exemple de MS-DOS
La FAT : File Allocation Table Table d’allocation des fichiers x 1 x Fichier A 2 EOF 3 6 3 6 9 4 4 EOF 5 6 9 7 mauvais 8 9 4
19
Gestion des blocs : Exemple de Unix
Une table i-node par fichier sur le disque Table d’allocation des fichiers Pointeurs sur les blocs de données Nœud du fichier 10 n° de blocs Pointeurs 1 indirection Pointeurs 2 indirections Pointeurs 3 indirections
20
Blocage d’enregistrements
1 bloc logique = n enregistrements Lorsque plusieurs enregistrements sont transférés ensembles lors d’un échange, on dit qu’ils sont bloqués Le facteur de blocage est le nombre n d’enregistrement par bloc logique Le facteur de blocage est calculé de manière à occuper au mieux les blocs physiques Enregistrement n Enregistrement n+1 Enregistrement n+2 Bloc logique
21
Le fichier Un fichier est un regroupement …
De tous les enregistrements décrivant le même type d’entité Avantage: rapidité de sélection des enregistrements concernés par un traitement Enregistrement 1 Enregistrement 2 Enregistrement 3 Enregistrement 4 Enregistrement 5 Enregistrement 6 … Enregistrement n-2 Enregistrement n-1 Enregistrement n
22
Le volume Ensemble des fichiers se trouvant sur un même support
Le partionnement permet de créer plusieurs volumes sur une même support Volume 1 Volume 2 volume fichier Volume 3 support
23
Le répertoire Table sur le support permettant de référencer tous les fichiers existants du volume avec leur nom et leurs caractéristiques principales Stocke pour chaque fichier l’adresse du premier enregistrement répertoire fichier
24
Composition du répertoire
Le répertoire Est une zone disque réservée par le SGF Comprend un certain nombre d’entrées Une entrée Est allouée à chaque fichier du disque répertoire Nom du fichier Type du fichier Taille du fichier Propriétaire Protection Date de création Adresse du 1er enregistrement entrée entrée entrée entrée entrée entrée entrée
25
Organisation des répertoires
Accès = nom du fichier Accès = chemin 1 répertoire Répertoire racine A Sous-répertoire B C f2 D E Ex : f2 f3 Ex : A/B/E/f2
26
Les fichiers partagés Propriété des fichiers par sous-répertoire
Partage d’un même fichier par deux usagers A Jacques Bertrand D E f3 Compteur de liens = 2
27
Exemple de MS-DOS Chaque fichier occupe 32 octets dans le répertoire
Un sous-répertoire occupe une entrée comme un fichier Le répertoire racine a 112 entrées Les autres répertoires ne sont pas limités Nom_fichier ext A H D B taille attribut heure N° 1er bloc date
28
Exemple de Unix Répertoire racine Bloc 125 i-node 9 i-node 44 /usr
17 57 44 . .. claude luc prog 1 4 7 5 3 9 8 . .. bin dev lib etc usr tmp info 125 info 688 /usr /usr/prog Sous-répertoire N° i-node
29
Allocation de l’espace du disque
Allocation statique ou dynamique Répertoire Données des fichiers Allocation statique ou dynamique
30
Allocation statique : espace du fichier
Les enregistrements d’un même fichier sont contigus FIC_A FIC_C FIC_N Répertoire Pointeur vers 1er emplacement (1Emp) chaque fichier données À la création du fichier : réservation d’un nombre de blocs contigus
31
Allocation statique : initialisation du SGF
Réservation de l ’emplacement du répertoire Les entrées sont initialisées comme étant libres Pointeur vers premier emplacement libre Espace libre Pointeur vers 1er emplacement libre (1EmpL) pour chaque fichier
32
Allocation statique : création du fichier
À la création du fichier : calcul de l’emplacement nécessaire = nb d ’enregistrements * longueur d’un enregistrement Recherche d’un emplacement correspondant Si trouvé création d’une entrée dans le répertoire avec maj du pointeur 1Emp (Sinon erreur) Cet emplacement ne fait plus partie de l’espace libre maj du pointeur 1EmpL FIC_A FIC_C FIC_N
33
Allocation statique : création d’un enregistrement
À la création d’un enregistrement : place disponible dans l’espace réservé au fichier ? Si oui occupation d ’un emplacement dans l ’espace réservé Si non soit allocation d ’un emplacement supplémentaire (débordement) Soit déplacement de l ’ensemble du fichier vers un espace plus grand (réorganisation) FIC_A FIC_C FIC_N débordement
34
Allocation statique : suppression d’un enregistrement
À 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 d’enregistrements Maj dans le répertoire Si = 0 alors aucun enregistrements Si = n > 0 alors n enregistrements FIC_A FIC_C FIC_N
35
Allocation dynamique : espace du fichier
Les enregistrements d’un même fichier sont chaînés entre eux occupation de l’espace au fur et à mesure des créations d’enregistrements FIC_A FIC_C FIC_N
36
Allocation dynamique : initialisation du SGF
Idem allocation statique Réservation de l ’emplacement du répertoire Les entrées sont initialisées comme étant libres Pointeur vers premier emplacement libre Espace libre Pointeur vers 1er emplacement libre (1EmpL) pour chaque fichier
37
Allocation dynamique : création du fichier
À la création du fichier par de réservation préalable d ’un emplacement À la création du 1ere 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 - erreur FIC_A FIC_C FIC_N
38
Allocation dynamique : 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 - erreur FIC_A FIC_C FIC_N
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.