Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parMartial Nolet Modifié depuis plus de 9 années
1
Plan… -Introduction et motivations : -Qu'est-ce que le traitement de fichiers ? -Terminologie et définitions fondamentales des structures de fichiers : Fichier, Champs Enregistrement… -Concepts de base : Processueur E-S, Buffer, techniques de bufferistation, opérations sur les fichiers…
2
Concepts fondamentaux et terminologie… L’efficacité d'un programme dépend en grande partie du mode d'organisation des fichiers qu'il manipule.
3
Le traitement des fichiers… - Modes d'organisation des données dans des fichiers et techniques d'accès (la partie la plus importante du cours). - Techniques d'utilisation des buffers et caractéristiques des processeurs d'entrée / sortie. - Lecture, écriture et mise à jour des fichiers. - Tri externe et fusion de fichiers. - Compression de fichiers.
4
Deux points de vue… Programmeur applications - Accès et recherche d'information dans un fichier - Mise à jour d'un fichier (ajout, suppression ou modification d'enregistrements) - Copie de fichiers, tri et fusion de fichiers, compression, … Question: Comment structurer les données de sorte à faciliter ces différentes opérations ?
5
Deux points de vue… Programmeur système - Allocation et gestion des tampons (buffers) - Création et maintenance des répertoires pour la localisation des fichiers créés par l'usager - Accès (de bas niveau) aux enregistrements - Gestion des tables en mémoire (état des fichiers utilisateurs) - Gestion de l'espace en mémoire externe Question: Comment gérer ces données structurées? (i.e.développement de logiciels d'aide à la réalisation des opérations ci-dessus)
6
Un fichier… Une collection de données bien organisées dans une mémoire secondaire. Il doit avoir un nom et une extension qui détermine son format.
7
Les champs et les enregistrements… Objectif: Organiser les données selon une structure compréhensible par les êtres humains (organisation différente de l’organisation en 0 et 1).
8
Un champ… Un champs n’existe pas physiquement dans le fichier, mais il représente un concept logique permettant d'accéder aux données physiques du fichier.
9
Un champ… Mémoire centrale Structure du champ Mémoire secondaire Champ physique Champ logique Programme Objet
10
Un champ... Il existe beaucoup de méthodes pour ajouter les données à un fichier tout en gardant l’identité du champ.
11
Méthode 1... Méthode 1 : Déclarer le champ à travers un type ou une structure de taille bien déterminée (déclarer tous les champs avec un type égal). On peut accéder aux différents champs en se basant sur cette taille.
12
Méthode 2... Méthode 2 : Commencer chaque champ par sa taille comme information de ce champ => concaténer la taille du champ à sa valeur.
13
Méthode 3... Méthode 3 : Séparer les champs par un caractère spécial (indicateur) ou une séquence de caractères spéciaux. Ce ou ces caractères doivent être bien choisis pour s’assurer qu’ils ne peuvent jamais figurer dans les valeurs des champs.
14
Méthode 4... Méthode 4 : L’utilisation d’une expression MotClé = Valeur’ pour identifier les champs. Avantage: La structure du champ nous fournit des informations supplémentaires à propos du champ lui-même (self-describing).
15
Un enregistrement… Un ensemble ou un regroupement de champs. Il constitue un autre niveau d’organisation des données pour garder le sens et la signification de ces dernières. Les enregistrements n’existent pas physiquement dans le fichier, mais ils représentent un concept logique pour accéder aux données physiques du fichier.
16
Un enregistrement… Mémoire centrale Structure de l’enregistrement Mémoire secondaire enregistrement physique enregistrement logique Programme objet
17
Clé d’enregistrement… C’est un champ d’enregistrement qui a des caractéristiques bien définies. On distingue deux types de clé d’enregistrement : Clé primaire : c’est une rubrique d’un enregistrement type qui identifie de façon unique chaque instance d’enregistrement. Clé secondaire : c’est une rubrique de donnée d’un enregistrement type qui n’identifie pas de façon unique chaque instance d’enregistrement (i.e. plusieurs valeurs de clé identiques).
18
Processus d’E-S, nécessité... La communication directe entre la mémoire interne et la mémoire externe est impossible. - Taux de flux de données en mémoire interne (quelques millions de c/s) et en mémoire externe (quelques centaines de milliers de c/s) ; - Quantité de données manipulées par un périphérique externe (généralement c/c) par rapport à la quantité manipulée en mémoire interne (généralement 4 ou 6 caractères) ;
19
Processus d’E-S, nécessité... - Possibilité de situations où plusieurs périphériques externes désirent communiquer simultanément avec la mémoire interne ; - Problème de synchronisation entre un périphérique externe et la mémoire interne (disponibilité de mémoire lors des lectures ou du périphérique lors des écritures)
20
Solution... Solution interface de communication entre la mémoire interne et les périphériques. Sur les gros ordinateurs : cette interface est appelée Processeur d'E/S ou canal d'échange. Sur mini ou micro : cette interface est appelée Bus.
21
Les fonctions d’un processus d’E-S… En entrée : Collecter les données issues d'un périphérique et de les formater dans le format approprié, afin de les transférer en mémoire interne (i.e. vers le programme d'application demandeur). Caractère Mémoire centraleProcessus d’E-S Mémoire externe Mot mémoire
22
Les fonctions d’un processus d’E-S… En sortie : En sortie, le processeur d'E/S obtient un mot de la mémoire interne, le décompose en caractères qu'il transmet en séquences au périphérique concerné. Caractère Mémoire centraleProcessus d’E-S Mémoire externe Mot mémoire
23
Flux entre mémoires interne-externe… Mémoire interne Périphérique externe Registre assembleur Processus d’E-S Sortie Entrée Programme usager Buffer
24
Types de canaux d’échange… Canal sélecteur: - Contrôle de plusieurs périphériques - Plusieurs chemins de transmission indépendants, mais un seul chemin actif à la fois - Doit compléter l'exécution d'une tâche d'E/S avant d'en activer une autre Mémoire interne Processus d’E-S Plusieurs périphériques externes
25
Types de canaux d’échange… Canal multiplexeur : - Peut transmettre des données "simultanément" à plusieurs périphériques - Temps partagé, mais donne l'illusion d'une transmission simultanée - Surtout utilisé pour des périphériques à faible taux de transmission (lecteurs de cartes, imprimantes,...) Mémoire interne Processus d’E-S Transmission simultanée
26
Le buffer… C’est un emplacement réservé dans la mémoire centrale pour stocker les données (cet espace est généralement réservé pour le système d’exploitation).
27
Types de buffers… Buffer d’application : -Doit être défini par le programmeur d'application -Contient l'enregistrement logique courant -Il en existe toujours un par fichier
28
Types de buffers… Buffer système : -Transparent pour le programmeur d'application -Contient l'enregistrement physique (ou bloc) courant -Il peut en exister plusieurs par fichier (techniques de "bufferisation")
29
Nécessité d’un buffer… 1.Volume fichier versus capacité de la mémoire interne (transfert impossible en totalité) 2.Vitesses de lecture/écriture en mémoires interne et externe Le buffer se trouve en mémoire interne et doit toujours être suffisamment large pour contenir le plus gros enregistrement physique du fichier associé.
30
Le fonctionnement du buffer… Mémoire interne Périphérique externe 2 1 Buffer système Zone programme Buffer application 1.Read 2.Write
31
Facteur de blocage… C’est le nombre d'enregistrements logiques par enregistrement physique. Lorsque FB > 1, les enregistrements physiques sont dits bloqués.
32
Facteur de blocage… Mémoire interne Buffer système Zone programme Buffer application Périphérique externe 3 4 1 2 FICHIERFICHIER Lecture log Ecriture log Lecture Phys Ecriture Phys
33
Technique de bufferisation: Buffer unique… Enregistrements logiques à traiter par le programme d’application Hypothèse : Fichier en lecture In Out
34
Technique de bufferisation: Buffer unique… Lecture Buffer Périphérique externe Zone programme Lorsque OUT = INT => Le buffer est vide OUT IN Remplissage Vidage
35
Technique de bufferisation: Buffer unique… Écriture Buffer Périphérique externe Zone programme Lorsque OUT = INT => Le buffer est plein IN OUT Vidage Remplissage
36
Technique de bufferisation: Double buffer… Mémoire interne Zone programme Buffers B1 B2 Périphérique externe Lecture Écriture
37
Technique de bufferisation: Double buffer… Mode lecture : - Lecture initiale : B1 et B2 sont remplis - Lorsque B1 est épuisé, la prochaine instruction de lecture utilise automatiquement B2 tandis que le système de gestion de fichiers lance une commande de lecture physique pour remplir B1 Technique qui permet d'anticiper les besoins de l'usager (programme) ("buffer swapping")
38
Technique de bufferisation: Double buffer… Mode écriture : Pendant que le contenu de B1 est transféré sur périphérique externe, le programme d'application peut remplir B2
39
Technique de bufferisation: Double buffer… Avantage : Facilite le déroulement parallèle des opérations d'entrée/sortie et des traitements en CPU (gain de temps à l'exécution)
40
Technique de bufferisation: Buffer multiple… Mémoire interne Zone programme Buffers B1 B2 Périphérique externe Lecture Écriture B3
41
Technique de bufferisation: Buffer multiple… Mode lecture : Lecture initiale : B1, B2,... Bn sont remplis Dès qu'un buffer est vide, il est automatiquement rempli par une commande de lecture (physique) du système de gestion de fichiers pendant que le suivant est activé
42
Technique de bufferisation: Buffer multiple… Mode écriture : Pendant que le contenu d'un buffer Bi est transféré en mémoire externe, le programme d'application peut remplir le suivant (Bi)
43
Technique de bufferisation: Buffer multiple… Avantage : Plus grande facilité de parallélisme que la technique précédente en matière d'opérations d'E/S et de traitement en CPU
44
Technique de bufferisation: Buffers groupés… Remplissage Lorsque traité par PAi 1 2 3 4 Liste 1 Liste des buffers d’entrée d’un programme d’application PAi Buffer entrée nécessaire
45
Technique de bufferisation: Buffers groupés… Remplissage Lorsque transféré en Fi 1 2 3 4 Liste 1 Liste des buffers de sortie associés à un fichier Fi Programme d’application Buffer sortie nécessaire
46
La meilleure technique…? 1 er cas :Le temps de traitement entre les requêtes d'entrée/sortie est toujours supérieur au temps nécessaire pour transférer un bloc à partir du périphérique externe technique du double tampon satisfaisante sinon les périphériques sont toujours occupés 2 e cas :Le temps de traitement entre les requêtes d'entrée/sortie varie sensiblement (durée faible à élevée) technique des tampons multiples plus performante
47
Le nombre optimum de buffers… Point limite (aucune méthode standard pour le déterminer) NoNombre de buffers Temps d’exécution
48
Parallélisme vs séquentialité… Buffer unique Bloc i i+1 i+2 E-S A A A Trait CPU A A A
49
Parallélisme vs séquentialité… Buffers double Trait CPU A B A B A Bloc i i+1 i+2 i+3 i+4 E-S A B A B A Bloc i i+1 i+2 i+3 i+4
50
Parallélisme vs séquentialité… Buffers multiple Trait CPU A B C A B C A E-S A B C A B C A Bloc i i+1 i+2 i+3 i+4 i+5 i+6
51
Opérations sur les fichiers… - Opération de définition d’un fichier - Opération d’ouverture d’un fichier - Opération de lecture d’un fichier - Opération d’écriture d’un fichier - Opération de fermeture d’un fichier
52
Fichier logique vs fichier logique… Utilisateur Lignes Fichiers logiques Fichiers physiques Utilisateur
53
Ouverture… L’ouverture du fichier peut rendre ce dernier prêt à l’utilisation par le programme. Nous sommes positionnés au début du fichier et nous sommes prêts pour une opération de lecture ou d’écriture.
54
Fermeture… Fermer un fichier qui était ouvert pour écriture, permet d’assurer que toutes les données ont été enregistrées dans le fichier physique. SECanal Buffer Fich. PhysApplication
55
Lecture-écriture… Buffer système Processeur d’E-S Périphérique externe Fichier physique Buffer application Mémoire externe
56
Détection de la fin du fichier… … Pointeur de L-E
57
Recherche directe d’un enregistrement… … Pointeur de L-E
58
Conclusion…
59
.
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.