Plan… -Introduction et motivations : -Qu'est-ce que le traitement de fichiers ? -Terminologie et définitions fondamentales des structures de fichiers :

Slides:



Advertisements
Présentations similaires
La programmation orientée objet avec Java L3-MIAGE Plan
Advertisements

Module Systèmes d’exploitation
Module Systèmes d’exploitation
GEF 435 Principes des systèmes dexploitation Structure du logiciel dE/S Partie II (Tanenbaum & 5.3.4)
GEF 435 Principes des systèmes dexploitation Les systèmes dexploitation en général (Tanenbaum 1.1 et 1.3)
Module 5 : Implémentation de l'impression
Le modèle de communication
Chap. 4 Recherche en Table
Le Concept du programme enregistré
Cours n° 2 Les entrées-sorties Biliothèque C++ (iostream) –
1 IXERP consulting. L archivage consiste à extraire de la base de données opérationnelle les informations qu' il n est plus nécessaire de conserver «
Serveur jeu Le serveur fait partie d'un logiciel de jeu en ligne multi joueur en architecture client serveur. Il répond à des demandes.
GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)
Chapitre I : Systèmes d’exploitation
Introduction Pour concrétiser l’enseignement assisté par ordinateur
(Classes prédéfinies – API Java)
Le modèle de communication
Les réseaux informatiques
Design Pattern MVC En PHP5.
TRANSMISSION DES DONNEES INFORMATIQUES
Systèmes d’exploitation
Initiation au système d’information et aux bases de données
Initiation au système d’information et aux bases de données
Les Systèmes d’Exploitation
Section XI Traitement de fichiers
Accès aux données généralisé SQL est presque une solution! Le problème: Le SQL n'est pas une langue complète, et doit être intégré dans un langage de programmation.
Système d’exploitation
Algorithmique et Programmation
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
Quest-ce quune classe dallocation? Une classe dallocation détermine la portée et la durée de vie dun objet ou dune fonction.
Module 4 : Création et gestion de comptes d'utilisateur
Création et gestion de comptes d'utilisateur
Allocation de mémoire Allocation de mémoire.
FICHIERS : Définition : Algorithme général:
Les fichiers indexés (Les B-arbres)
Structures de données IFT-2000 Abder Alikacem Standard Template library Édition Septembre 2009 Département dinformatique et de génie logiciel.
Programmation concurrente
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
Module 3 : Création d'un domaine Windows 2000
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Gestion des transactions SQLServer.
Vue d'ensemble Surveillance des journaux d'événements
Module 8 : Surveillance des performances de SQL Server
Objectifs A la fin de ce chapitre, vous pourrez : présenter l'utilisation d'opérations de chargement de données par chemin direct décrire l'utilisation.
Développé par : CHAFYQ El Hassan & Krachli Ayoub
Structure de Base d’un ordinateur Matière : Informatique
Programmation Système et Réseau
GF-11: Tri Interne Efficace et Tri Externe
Cours LCS N°4 Présenté par Mr: LALLALI
Module 3 : Création d'un domaine Windows 2000
Structures de données avancées : LH (Hachage linéaire) D. E ZEGOUR Institut National d ’Informatique.
Les variables fichiers. Le type fichier On manipule les fichiers par l’intermédiaire de structures FILE décrites dans stdio.h FILE *monFichier; –Nom physique.
Doan Chien Thang Aôut,2008.  La vue d'ensemble des systèmes d'exploitation  Les processus et les fils  Gestion de la mémoire  Le système des fichiers.
Initiation aux SGBD Frédéric Gava (MCF)
Système de gestion fichiers
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.
Nouvelles Technologies Internet & Mobile
Gestion des documents internes avec SQL Server 2005 Date de publication : janvier 2006.
ALLOCATION DU CPU et GESTION DES TRAVAUX.
Introduction Module 1.
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.
IFT 703 Informatique cognitive ACT-R Modèle symbolique et perceptuel
Les mémoires la préparation de: chaimaa hamdou.
ARCHITECTURE MATERIELLE D’UN SYSTEME A MICROPROCESSEUR
L ES INSTRUCTIONS DE L ECTURE, E CRITURE ET A FFECTATION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université.
Chapitre 5 Configuration et gestion des systèmes de fichiers Module S41.
Chapitre 12 Surveillance des ressources et des performances Module S41.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
Transcription de la présentation:

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…

Concepts fondamentaux et terminologie… L’efficacité d'un programme dépend en grande partie du mode d'organisation des fichiers qu'il manipule.

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.

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 ?

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)

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.

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).

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.

Un champ… Mémoire centrale Structure du champ Mémoire secondaire Champ physique Champ logique Programme Objet

Un champ... Il existe beaucoup de méthodes pour ajouter les données à un fichier tout en gardant l’identité du champ.

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.

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.

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.

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).

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.

Un enregistrement… Mémoire centrale Structure de l’enregistrement Mémoire secondaire enregistrement physique enregistrement logique Programme objet

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).

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) ;

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)

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.

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

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

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

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

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

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).

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

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")

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é.

Le fonctionnement du buffer… Mémoire interne Périphérique externe 2 1 Buffer système Zone programme Buffer application 1.Read 2.Write

Facteur de blocage… C’est le nombre d'enregistrements logiques par enregistrement physique. Lorsque FB > 1, les enregistrements physiques sont dits bloqués.

Facteur de blocage… Mémoire interne Buffer système Zone programme Buffer application Périphérique externe FICHIERFICHIER Lecture log Ecriture log Lecture Phys Ecriture Phys

Technique de bufferisation: Buffer unique… Enregistrements logiques à traiter par le programme d’application Hypothèse : Fichier en lecture In Out

Technique de bufferisation: Buffer unique… Lecture Buffer Périphérique externe Zone programme Lorsque OUT = INT => Le buffer est vide OUT IN Remplissage Vidage

Technique de bufferisation: Buffer unique… Écriture Buffer Périphérique externe Zone programme Lorsque OUT = INT => Le buffer est plein IN OUT Vidage Remplissage

Technique de bufferisation: Double buffer… Mémoire interne Zone programme Buffers B1 B2 Périphérique externe Lecture Écriture

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")

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

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)

Technique de bufferisation: Buffer multiple… Mémoire interne Zone programme Buffers B1 B2 Périphérique externe Lecture Écriture B3

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é

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)

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

Technique de bufferisation: Buffers groupés… Remplissage Lorsque traité par PAi Liste 1 Liste des buffers d’entrée d’un programme d’application PAi Buffer entrée nécessaire

Technique de bufferisation: Buffers groupés… Remplissage Lorsque transféré en Fi Liste 1 Liste des buffers de sortie associés à un fichier Fi Programme d’application Buffer sortie nécessaire

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

Le nombre optimum de buffers… Point limite (aucune méthode standard pour le déterminer) NoNombre de buffers Temps d’exécution

Parallélisme vs séquentialité… Buffer unique Bloc i i+1 i+2 E-S A A A Trait CPU A A A

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

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

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

Fichier logique vs fichier logique… Utilisateur Lignes Fichiers logiques Fichiers physiques Utilisateur

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.

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

Lecture-écriture… Buffer système Processeur d’E-S Périphérique externe Fichier physique Buffer application Mémoire externe

Détection de la fin du fichier… … Pointeur de L-E

Recherche directe d’un enregistrement… … Pointeur de L-E

Conclusion…

.