Gestion de Fichiers GF1 Introduction a la Gestion

  • Slides: 17
Download presentation
Gestion de Fichiers GF-1: Introduction a la Gestion des Fichiers et Operations de Base

Gestion de Fichiers GF-1: Introduction a la Gestion des Fichiers et Operations de Base

Organisation du Cours n n n Professeur: Dr. Nathalie Japkowicz, MCD-325 C, x 6693,

Organisation du Cours n n n Professeur: Dr. Nathalie Japkowicz, MCD-325 C, x 6693, nat@site. uottawa. ca. Heures de Consultation: Mardi 13 h 30 -14 h 30. Jeudi 16 h 30 -17 h 30 Heures de Cours: Mardi, 14 h 30 -16 h 00 (SCS E 218) Jeudi, 17 h 30 -19 h 00 (SCS E 218) § Heures de Laboratoire: Jeudi, 13 h 00 -14 h 30 (CBE 203) § Manuel de Cours: File Structures, An Object- Oriented Approach with C++, by Michael J. Folk, Bill Zoellick & Greg Riccardi, Addison Wesley 2

Objectifs du Cours n n n L’Etude des Structures de Fichiers avec le but

Objectifs du Cours n n n L’Etude des Structures de Fichiers avec le but d’ameliorer l’efficacite de l’acces aux donnees en memoire secondaire. L’etude des outils les plus importants pour l’organisation des fichiers, tels que les indexes, les processus co-sequentiels, les arbres B et B+ et l’addressage disperse (Hash. Coding). L’acquisition de bonnes bases de programmation en C++. 3

Evaluation n n n 30% Devoirs (D) n 3 Devoirs (quelquestions ecrites et quelquestions

Evaluation n n n 30% Devoirs (D) n 3 Devoirs (quelquestions ecrites et quelquestions de 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: penalite de 10% par jour (ou portion de jour) ouvrable; aucun devoir ne sera accepte apres 11 h 00 le deuxieme jour 4 suivant la date de remise du devoir.

Plan du Cours d’Aujourd’hui n n n Que sont les Structures de Fichiers? Pourquoi

Plan du Cours d’Aujourd’hui n n n Que sont les Structures de Fichiers? Pourquoi etudier la Gestion de Fichiers? Une vue generale de la Conception des Structures de Fichiers. Histoire de la Discipline. Une Introduction au C++ D’apres Folk, Zoellick and Riccardi, Chapitre 1. 5

Definition n § § Une structure de Fichier est une combinaison 1. de representations

Definition n § § Une structure de Fichier est une combinaison 1. de representations pour les donnees sauvegardees dans des fichiers, et 2. d’operations pour acceder a ces donnees. Une structure de Fichier permets aux applications de lire, ecrire et modifier les donnees. Elle peut aussi permettre de trouver les donnees correspondant a certains criteres de recherche ou de lire les donnees dans un ordre particulier. Les Structures de Donnees s’addressent a l’organisation de donnees en memoire principale. Les Structures de Fichiers s’addressent a l’organisati des donnees en memoire secondaire. 6

Storage des Donnees Les donnees sur ordinateur peuvent etre sauvegardees dans trois types de

Storage des Donnees Les donnees sur ordinateur peuvent etre sauvegardees dans trois types de location differents: n En Storage Primaire: Memoire de l’ordinateur (RAM) n En Storage Secondaire: Disque Dur, Notre Disquette, Cassette Magnetique, CD-ROM sujet qui peuvent etre accedes par l’ordinateur. n En Storage Tertiaire ou Donnees d’Archives: Disque Dur, Disquette, Cassette Magnetique, CD-ROM qui ne peuvent pas etre accede directement par l’ordinateur. 7 n

Difference entre le Storage Primaire et Secondaire n n n Le storage secondaire tel

Difference entre le Storage Primaire et Secondaire n n n Le storage secondaire tel que les disques peuvent accumuler des milliers de megabytes en utilisant tres peu d’espace physique. Le storage primaire (i. e. , la memoire, le RAM), au contraire, est tres limite. Cependant, l’acces au storage secondaire est tres lent par rapport a l’acces au storage primaire: [Example: l’acces aux donnees sauvegardees en RAM lente prend 120 nanosecondes. Il prend 30 millisecondes lorsque les donnees sont sauvegardees sur disque. ] 8

Pourquoi Etudier les Structures de Fichiers? n n L’etude de structures de fichiers est

Pourquoi Etudier les Structures de Fichiers? n n L’etude de structures de fichiers est entreprise afin d’ameliorer le temps d’acces au storage secondaire. Etant donne que les details de la representation des donnees et des operations associees a ces donnees determinent l’efficacite des structures de fichiers (en fonction de l’application consideree), l’amelioration de ces details peut ameliorer le temps d’acces au storage secondaire. 9

Une Vue Generale de la Conception des Structures de Fichiers I n n n

Une Vue Generale de la Conception des Structures de Fichiers I n n n But General: Obtention de l’information requise avec un seul acces au disque. Si cela n’est pas possible: Obtention de l’information requise avec aussi peu d’acces au disque possible. En general, nous allons essayer de grouper toutes les informations requises par les utilisateurs du systeme de facon a pouvoir y acceder avec un seul acces au disque. 10

Une Vue Generale de la Conception des Structures de Fichiers II Fichiers Fixes et

Une Vue Generale de la Conception des Structures de Fichiers II Fichiers Fixes et Fichiers Dynamiques n n Il est assez simple de trouver des structures de fichiers efficaces (qui adherent aux buts generaux de la discipline) lorsque les fichiers ne changent pas pendant l’execution du systeme. Par contre, si les fichiers peuvent s’aggrandir ou rapetisser, il est beaucoup plus difficile d’atteindre ces buts. 11

Histoire de la Discipline I: Au Debut, l’Acces Sequentiel n n n L’histoire de

Histoire de la Discipline I: Au Debut, l’Acces Sequentiel n n n L’histoire de la discipline est tres intimement liee au developpements techniques associes aux ordinateurs et a leur usage pratique. Au debut, les fichiers etaient sauvegardes seulement sur cassettes magnetiques. L’acces etait donc sequentiel et son cout grandissait proportionellement avec la taille du fichier. 12

Histoire de la Discipline II: l’Emergence des Disques et des Indexes n n Lorsque

Histoire de la Discipline II: l’Emergence des Disques et des Indexes n n Lorsque les fichiers ont commence a grandir de facon demesuree, l’acces sequentiel pur n’etait plus une solution. Les disques ont permis l’acces direct. Les indexes ont donne la possibilite de sauvegarder des petits fichiers ne contenant qu’une liste de cles associees a des pointeurs. La recherche sequentielle dans ces petits fichiers pouvaient etre faite tres rapidement. La cle et le pointeur donnait l’acces direct au tres grand fichier principal contennant les donnees. 13

Histoire de la Discipline III: l’Emergence des d’Arbres de Recherche n n n Les

Histoire de la Discipline III: l’Emergence des d’Arbres de Recherche n n n Les indexes ont eux aussi commence a grandir de maniere demesuree. Comme ils avaient une structure sequentielle, ils sont eux aussi devenu difficile a gerer. L’idee d’utiliser des structures d’arbres de recherche afin de gerer l’index est apparue au debut des annees 60. Cependant, les arbres de recherches peuvent grandir de facon tres inegale lorsque les enregistrements sont ajoutes ou effaces. Ceci resultait en des recherches tres longues necessitant plusieurs acces au disque avant de trouver l’enregistrement requis. 14

Histoire de la Discipline IV: l’Emergence des d’Arbres Equilibres n n n En 1963,

Histoire de la Discipline IV: l’Emergence des d’Arbres Equilibres n n n En 1963, l’idee des arbres AVL a emergee pour les donnees sauvegardees en storage primaire. Cette ideee, cependant, ne s’appliquait pas au storage secondaire car les arbres AVL sont utiles lorsque les noeuds d’arbres sont composes d’enregistrements simples plutot que de douzaines ou centaines. Dans les annees 70, l’idee des arbres B a emergee. Ces arbres ont un temps d’acces de O(logk. N) ou N est le nombre d’enregistrements dans le fichier et k, le nombre d’enregistrements indexes dans un simple bloc de l’arbre B. => Les arbres B peuvent garantir une recherche ne necessitant que 3 ou 4 acces au disque 15 pour un fichier de millions d’enregistrements.

Histoire de la Discipline V: L’Addressage Disperse n n n Bien que la possibilite

Histoire de la Discipline V: L’Addressage Disperse n n n Bien que la possibilite de trouver des donnees sauvegardees en storage secondaire avec 3 ou 4 acces au disque est impressionante, elle n’atteint pas le but fixe de trouver des donnees en un simple acces. Depuis tres longtemps, l’addressage disperse (ou Hash. Coding) etait un moyen connu d’atteindre ce but dans les fichiers don’t la taille ne changeait pas beaucoup pendant l’utilisation du systeme. Plus recemment, le Hash. Coding dynamique extensible garantit un ou au plus deux acces au disque quelle que soit la taille du fichier. 16

Une Introduction au C++ n n n Le C++ a ete cree par Bjarne

Une Introduction au C++ n n n Le C++ a ete cree par Bjarne Stroustrup. C++ a conserve l’efficacite du C tout en y ajoutant la puissance de l’heritage d’objets. C++ vs. Java: n Java est base sur le C++ mais est un langage plus simple. n Neanmoins, Java n’a pas autant de flexibilite que le C++ car il repose sur des concepts de plus haut niveau. Par example, Java n’a pas de pointeurs. 17