Introduction et Motivation

Slides:



Advertisements
Présentations similaires
Module Systèmes d’exploitation
Advertisements

Module Systèmes d’exploitation
GEF 243B Programmation informatique appliquée Listes chaînées I – Tableaux de structures §15.1 – 15.2.
GEF 435 Principes des systèmes d’exploitation
Structures de données avancées : Principales structures de fichiers
Structures de données avancées : B arbres
Structures de données avancées : Introduction
Cours de l’OACI sur les Systèmes de Gestion de la Sécurité (SMS)
Chap. 4 Recherche en Table
GEF 435 Principes des systèmes d’exploitation
Cours Présenté par …………..
1 Nicolas Fressengeas - Utilisation du calcul formel automatique dans l'enseignement de l'électromagnétisme Supélec - Campus de Metz Expérience lors du.
Introduction à la programmation (420-PK2-SL) cours 15 Gestion des applications Technologie de linformation (LEA.BW)
Traitement Co-Séquentiel: Appariment et Fusion de Plusieurs Listes
Cours 8 Arbres équilibrés
Vue générale de Sharpdesk
Bienvenue! INF3723: Systèmes d’exploitation Luigi Logrippo
II. Chaînage, SDD séquentielles
Gestion de Fichiers GF-15: Addressage Disperse (Hashcoding) (Base sur le Chapitre 11 de Folk, Zoellick & Riccardi, File Structures, An Object-Oriented.
Chapitre 21 Collections Partie I Introduction Une collection : est un objet qui regroupe multiple éléments dans une unité. Une collection est.
Gestion de Fichiers Arbres B.
Indexation 1. Concepts de base 2. Arbre B 3. Indexes secondaires.
Sections sélectionnées du Chapitre 11
Les fichiers indexés (Les B-arbres)
LA STRUCTURE D'ARBRE-B Institut National des Sciences Appliquées – Rouen Département Architecture des Systèmes d’Information.
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Structures de données IFT-10541
Stockage Secondaire: Disques
Un patron de conception
1 Tri Externe Chapitre 13: Pourquoi Trier? Problème classique en informatique (Voir Knuth, v.3)! Données requises en ordre trié P.ex.: Trouver.
Gestion de Fichiers Indexes basés sur les structures d’arbres binaires et indexes à niveaux multiples.
Indexes à Arbres et Indexes à Hachage
1 Tri Externe Chapitre 13: Pourquoi Trier? Problème classique en informatique (Voir Knuth, v.3)! Données requises en ordre trié P.ex.: Trouver.
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
Gestion de Fichiers Hachage Extensible.
Gestion de Fichiers GF-1: Introduction à la Géstion des Fichiers et Opérations de Base.
Indexes à Arbres et Indexes à Hachage
SEG2505 – Introduction au Génie Logiciel Plan de cours – Automne 2012.
Organisation des Fichiers pour la Performance
Gestion de Fichiers GF-12: Comment Gerer les Indexes qui ne tiennent pas en Memoire de Maniere Efficace?: I. Indexes Bases sur les Structures dArbres Binaires.
Gestion de Fichiers GF-5: Storage Secondaire: Bandes Magnetiques (Base sur Chapitres 3 de Folk, Zoellick & Riccardi, File Structures, An Object-Oriented.
Gestion de Fichiers GF-10: Traitement Co-Sequentiel: Appariment et Fusion de Plusieures Listes (Base sur les sections de Folk, Zoellick & Riccardi,
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Gestion des transactions SQLServer.
Gestion de Fichiers GF-3: Structures d’Enregistrements, Acces Sequentiel et Direct, Manipulation de classes en C++ (Base sur des segments des Chapitres.
Gestion de Fichiers GF-14: Acces Sequentiel et Indexe aux Fichiers et Arbres B+ Prefixes (Base sur le Chapitre 10 de Folk, Zoellick & Riccardi, File Structures,
Gestion de Fichiers GF-16: Addressage Disperse Extensible (Extendible Hashcoding) (Base sur le Chapitre 12 de Folk, Zoellick & Riccardi, File Structures,
Gestion de Fichiers GF-1: Introduction a la Gestion des Fichiers et Operations de Base.
Gestion de Fichiers GF-12: Comment Gerer les Indexes qui ne tiennent pas en Memoire de Maniere Efficace?: II. Arbres B (Base sur les Sections de.
Mémoire périphérique Stockage primaire: Mémoire principale (RAM)
Gestion de Fichiers GF-9: Construction d’Indexes (Base sur le Chapitre 7 de Folk, Zoellick & Riccardi, File Structures, An Object-Oriented Approach with.
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Cours de Systèmes d’exploitations
Gestion de Fichiers GF-8: Organisation des Fichiers pour l’Amelioration de la Performance (Base sur la section de Folk, Zoellick & Riccardi, File.
GF-11: Tri Interne Efficace et Tri Externe
L’ergonomie des IHM : pourquoi, comment ?
Présentation et discipline
Les fichiers 1ère partie
GF-4: Storage Secondaire: Disques
Structures de données avancées : B arbres
L T I Laboratoire de Téléinformatique 2 Projet de semestre Parseur XML basé sur la DTD : Buts –Utiliser la grammaire définissant un type de fichiers XML.
Structures de données avancées : Principales structures de fichiers
06/04/06 LES BASES DE DONNEES INTRODUCTION CogniTIC – Bruxelles Formation - Cepegra.
Structures de données avancées : Arbres B+ avec expansion partielle D. E ZEGOUR Institut National d ’Informatique.
Structures de données avancées : Hachage dynamique
Gestion de Fichiers Construction d’Indexes. 2 Plan du cours de la semaine Vue Générale Un indexe pour les fichiers à entrées séquentielles Opérations.
INFO 2014 Fichiers et base de données Philippe Fournier-Viger Département d’informatique, U.de Moncton Bureau D216
Raison d'être de la structure de fichiers : Les premiers travaux : Début des années 1960 : En 1963 : Près de 10 ans plus tard... (à peu près 1973) : Durant.
Bibliothèque cantonale et universitaire de Fribourg Compétences documentaires pour étudiants – lundi 30 mai 2016 Recherche documentaire.
Chapitre 12 Surveillance des ressources et des performances Module S41.
Transcription de la présentation:

Introduction et Motivation Gestion de fichiers Introduction et Motivation

Organisation du Cours Professeur: Iluju Kiringa, kiringa@site.uottawa.ca 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

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++

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.

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 Notre sujet

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

Définition Une structure de fichier = Représentation pour les données en fichiers, et 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

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

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

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.

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.

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.

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.

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.

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.

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.

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+

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.