gestion de fichiers

18
Gestion de fichiers Introduction et Motivation

Upload: vicky

Post on 25-Jan-2016

26 views

Category:

Documents


0 download

DESCRIPTION

Gestion de fichiers. Introduction et Motivation. Organisation du Cours. Professeur: Iluju Kiringa, [email protected] 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) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Gestion de fichiers

Gestion de fichiers

Introduction et Motivation

Page 2: Gestion de fichiers

2

Organisation du Cours Professeur: Iluju Kiringa,

[email protected] 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

Page 3: Gestion de fichiers

3

Objectifs du cours

Etude des Structures de Fichiers (SF) pour ameliorer l’efficacité de l’accès aux données en mémoire secondaire

Etude des outils les plus importants pour l’organisation des fichiers: indexes, processus co-séquentiels, arbres B et B+,l’addressage dispersé (Hashing)

Eléments de programmation en C++

Page 4: Gestion de fichiers

4

Evaluation

30% 3 Devoirs (D) - théorie et programmation

25% Examen de mi-session (M) 45% Examen final (F) M + F < 35 => 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.

Page 5: Gestion de fichiers

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

l’ordinateur (RAM) Stockage secondaire: disque dur, disquette,

cassette magnétique, CD-ROM qui peuvent être accédés directement par l’ordinateur

Stockage tertiaire ou données d’archives: disque dur, disquette, cassette magnétique, CD-ROM qui ne peuvent pas être accédé directement par l’ordinateur

Notresujet

Page 6: Gestion de fichiers

6

Plan du cours d’aujourd’hui

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

Page 7: Gestion de fichiers

7

Définition Une structure de fichier =

1. Représentation pour les données en fichiers, et2. 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 s’occupent de

l’organisation des données en mémoire principale; Les structures de fichiers s’addressent à

l’organisation des données en mémoire secondaire

Page 8: Gestion de fichiers

8

Stockage primaire vs. secondaire

Stockage secondaire: - lent (car électronique et méchanique) - large (milliers de MBs sur très peu d’espace 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: l’accè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

Page 9: Gestion de fichiers

9

Motivation Pour ameliorer le temps d’accès au

stockage secondaire Pour minimaliser le nombre d’accè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 d’informations de manière à atteindre un minimum d’accès

Page 10: Gestion de fichiers

10

Conception générale

Le But général est l’obtention de l’information requise avec un SEUL accès au disque.

Si cela n’est pas possible, on vise l’obtention de l’information requise avec aussi peu d’accès au disque que possible.

En général, le concepteur d’une 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.

Page 11: Gestion de fichiers

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 l’execution du système.

Par contre, si les fichiers peuvent s’aggrandir ou rapetisser, il devient très difficile de trouver des SF efficaces.

Page 12: Gestion de fichiers

12

Historique: accès séquentiel

L’histoire 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.

L’accès y était donc séquentiel et son coût grandissait en proportion directe avec la taille du fichier.

Analogie avec l’accès séquentiel aux copies répétitives (array) en strutures de données.

Page 13: Gestion de fichiers

13

Historique: accès direct et indexes

Lorsque les fichiers ont commencé à grandir de façon démesurée, l’accès séquentiel pur n’était plus une solution efficace.

Les disques ont permis l’accès direct. Les indexes ont donné la possibilité de sauvegarder

des petits fichiers ne contenant qu’une 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 l’accès direct au très grand fichier principal contennant les données.

Page 14: Gestion de fichiers

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.

L’idée d’utiliser des structures d’arbres 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 l’enregistrement requis.

Page 15: Gestion de fichiers

15

Historique: arbres équilibrés En 1963, l’idée des arbres AVL a émergée pour les données

sauvegardées en stockage primaire. Cette idée, cependant, ne s’appliquait pas au stockage

secondaire car les arbres AVL sont utiles lorsque les noeuds d’arbres sont composés d’enregistrements simples plutôt que de douzaines ou centaines.

Dans les annees 70, l’idée des arbres B a émergée. Ces arbres ont un temps d’accès de O(logkN) ou N est le nombre d’enregistrements dans le fichier et k le nombre d’enregistrements d’indexes dans un noeud.

Les arbres B peuvent garantir juste 3 ou 4 accès au disque pour un fichier de millions d’enregistrements.

Page 16: Gestion de fichiers

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 n’atteint pas le but fixé de trouver des données en un simple accès.

Depuis très longtemps, l’addressage dispersé (hashing) était un moyen connu d’atteindre ce but dans les fichiers dont la taille ne changeait pas beaucoup pendant l’utilisation du système.

Plus récemment, l’addressage dispersé extensible garantit un ou au plus deux accès au disque quelle que soit la taille d’un fichier dynamique.

Page 17: Gestion de fichiers

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+

Page 18: Gestion de fichiers

18

Une Introduction au C++ Le C++ a été crée par Bjarne Stroustrup. C++ a conservé l’efficacité du C tout en y

ajoutant la puissance de l’héritage d’objets. C++ vs. Java:

Java est basé sur le C++ mais est un langage plus simple.

Néanmoins, Java n’a pas autant de flexibilité que le C++ car il repose sur des concepts de plus haut niveau. Par example, Java n’a pas de pointeurs.