La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Gestion de fichiers Introduction et Motivation. 2 Organisation du Cours Professeur: Iluju Kiringa, Consultation:

Présentations similaires


Présentation au sujet: "Gestion de fichiers Introduction et Motivation. 2 Organisation du Cours Professeur: Iluju Kiringa, Consultation:"— Transcription de la présentation:

1 Gestion de fichiers Introduction et Motivation

2 2 Organisation du Cours Professeur: Iluju Kiringa, Consultation: Mardi, 16:00-17:30 (EITI 5072) Cours: Mardi, 14:30-16:00; Vendredi, 16:00-17:30 Laboratoire: Lundi, 13:00-14:30 (EITI 0131) Manuel: M.J. Folk, B. Zoellick et G. Riccardi, File Structures, an Object-Oriented Approach with C++, Addison Wesley, 1998 Notes de Cours sur le web

3 3 Objectifs du cours Etude des Structures de Fichiers (SF) pour ameliorer lefficacité de laccès aux données en mémoire secondaire Etude des outils les plus importants pour lorganisation des fichiers: indexes, processus co-séquentiels, arbres B et B+,laddressage dispersé (Hashing) Eléments de programmation en C++

4 4 Evaluation 30% 3 Devoirs (D) - théorie et programmation 25% Examen de mi-session (M) 45% Examen final (F) M + F Note Finale = 10 * ( M + F ) / 7 M + F >= 35 => Note Finale = D + M + F Retard dans la remise des devoirs: -10% par jour; aucun devoir ne sera accepté apres 11h00 le deuxième jour suivant la date de remise du devoir.

5 5 Stockage des données Les données peuvent être sauvegardées dans trois types de locations différents: Stockage primaire: mémoire principal de lordinateur (RAM) Stockage secondaire: disque dur, disquette, cassette magnétique, CD-ROM qui peuvent être accédés directement par lordinateur Stockage tertiaire ou données darchives: disque dur, disquette, cassette magnétique, CD-ROM qui ne peuvent pas être accédé directement par lordinateur Notre sujet

6 6 Plan du cours daujourdhui Définition de structures de fichiers Motivation à étudier la gestion de fichiers Conception générale Histoire de la discipline Une introduction au C++ Lecture: FZR, Chapitre 1

7 7 Définition Une structure de fichier = 1. Représentation pour les données en fichiers, et 2. opérations pour accéder à ces données Une structure de fichier permet aux applications de -lire, écrire et modifier les données, -les trouver suivant des critères de recherche -les lire dans un ordre particulier Les structures de données soccupent de lorganisation des données en mémoire principale; Les structures de fichiers saddressent à lorganisation des données en mémoire secondaire

8 8 Stockage primaire vs. secondaire Stockage secondaire: - lent (car électronique et méchanique) - large (milliers de MBs sur très peu despace physique) - stable et persitent (car souvent magnétique) Stockage primaire: - rapide (puisque électronique) - très limité (car très cher) - instable (car necessite du courant en permanence) Cas typique: laccès aux données en RAM prend +/-120 nanosec.; +/-30 millisec. pour les celles sur disque Analogie: recherche dans un index de livre vs. dans une bibliothèque

9 9 Motivation Pour ameliorer le temps daccès au stockage secondaire Pour minimaliser le nombre daccès Pour ameliorer les détails de la représentation des données et des opérations associées à ces données Pour étudier les regroupements dinformations de manière à atteindre un minimum daccès

10 10 Conception générale Le But général est lobtention de linformation requise avec un SEUL accès au disque. Si cela nest pas possible, on vise lobtention de linformation requise avec aussi peu daccès au disque que possible. En général, le concepteur dune SF essayera de grouper toutes les informations requises par les utilisateurs du système de façon à y parvenir avec un seul (ou un minimum d) accès au disque.

11 11 Conception générale (suite) Fichiers fixes et fichiers dynamiques Il est relativement facile de trouver des structures de fichiers efficaces (qui adhèrent à la conception générale des SF) pour les fichiers qui ne changent pas pendant lexecution du système. Par contre, si les fichiers peuvent saggrandir ou rapetisser, il devient très difficile de trouver des SF efficaces.

12 12 Historique: accès séquentiel Lhistoire de la discipline est très intimement liée au développements techniques associés aux ordinateurs et à leur usage pratique. Au début, les fichiers étaient sauvegardés seulement sur cassettes magnétiques. Laccès y était donc séquentiel et son coût grandissait en proportion directe avec la taille du fichier. Analogie avec laccès séquentiel aux copies répétitives (array) en strutures de données.

13 13 Historique: accès direct et indexes Lorsque les fichiers ont commencé à grandir de façon démesurée, laccès séquentiel pur nétait plus une solution efficace. Les disques ont permis laccès direct. Les indexes ont donné la possibilité de sauvegarder des petits fichiers ne contenant quune liste de clés associées à des pointeurs. La recherche sequentielle dans ces petits fichiers pouvaient être faite très rapidement. La clé et le pointeur donnait laccès direct au très grand fichier principal contennant les données.

14 14 Historique: arbres de recherche Les indexes ont vite grandi de manière démesurée. Comme ils avaient une structure séquentielle, ils exhibent les mêmes problèmes que les gros fichiers. Lidée dutiliser des structures darbres de recherche afin de gérer un index est née au début des années 60 (exemple: arbres de recherche binaires). Cependant, les arbres de recherches peuvent grandir de façon très inégale lorsque les enregistrements sont ajoutés ou effacés. Ceci résultait en des recherches très longues nécessitant plusieurs accès au disque avant de trouver lenregistrement requis.

15 15 Historique: arbres équilibrés En 1963, lidée des arbres AVL a émergée pour les données sauvegardées en stockage primaire. Cette idée, cependant, ne sappliquait pas au stockage secondaire car les arbres AVL sont utiles lorsque les noeuds darbres sont composés denregistrements simples plutôt que de douzaines ou centaines. Dans les annees 70, lidée des arbres B a émergée. Ces arbres ont un temps daccès de O(log k N) ou N est le nombre denregistrements dans le fichier et k le nombre denregistrements dindexes dans un noeud. Les arbres B peuvent garantir juste 3 ou 4 accès au disque pour un fichier de millions denregistrements.

16 16 Historique: addressage dispersé Bien que la possibilite de trouver des données sauvegardées en stockage secondaire avec 3 ou 4 accès au disque est impressionante, elle natteint pas le but fixé de trouver des données en un simple accès. Depuis très longtemps, laddressage dispersé (hashing) était un moyen connu datteindre ce but dans les fichiers dont la taille ne changeait pas beaucoup pendant lutilisation du système. Plus récemment, laddressage dispersé extensible garantit un ou au plus deux accès au disque quelle que soit la taille dun fichier dynamique.

17 17 Contenu du cours Introduction et motivation Opérations de base sur les fichiers structures d'enregistrement, accès séquentiel et direct Stockage secondaire: disques, cassettes magnétiques et CD-ROMs Compression de fichiers Organisation des Fichiers pour l'amélioration de la performance Construction d'indexes Opérations co-séquentielles, tri interne efficace et tri externe Addressage dispersé (hachage) Addressage dispersé extensible Indexes à structure d'arbres binaires et à niveau multiple Les arbres B Fichiers séquentiels indexés et arbres B+

18 18 Une Introduction au C++ Le C++ a été crée par Bjarne Stroustrup. C++ a conservé lefficacité du C tout en y ajoutant la puissance de lhéritage dobjets. C++ vs. Java: Java est basé sur le C++ mais est un langage plus simple. Néanmoins, Java na pas autant de flexibilité que le C++ car il repose sur des concepts de plus haut niveau. Par example, Java na pas de pointeurs.


Télécharger ppt "Gestion de fichiers Introduction et Motivation. 2 Organisation du Cours Professeur: Iluju Kiringa, Consultation:"

Présentations similaires


Annonces Google