Mémoire périphérique Stockage primaire: Mémoire principale (RAM)

Slides:



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

Module Systèmes d’exploitation
Structures de données avancées : Introduction
Cours n° 2 Les entrées-sorties Biliothèque C++ (iostream) –
GEF 435 Principes des systèmes d’exploitation
GEF 243B Programmation informatique appliquée
1 UMLV 1. Introduction 2. Hachage ouvert 3. Hachage fermé 4. Implémentation des fonctions Méthodes de hachage.
Gestion de FICHIERS.
13 – 16 Décembre 2005 Laurence Viry Introduction à MPI MPI_2.
Suite à de nombreuses remarques concernant le projet de structures de données 'Gestion d'un Aéroport' , voici un polycopié de cours concernant la gestion.
FLSI602 Génie Informatique et Réseaux
Architecture de machines La mémoire
Architecture de machines La mémoire
ARCHITECTURE DES ORDINATEURS
Le stockage magnétique
Stockage des Données: Disques et Fichiers
CPI 2005 Théorie des systèmes d’exploitation
Mémoire périphérique Stockage primaire: Mémoire principale (RAM)
Architecture de base d’un ordinateur
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Stockage des Données: Disques et Fichiers Chapitre 9.
La fonction alloue un bloc de taille size. Il faut indiquer la taille du bloc que lon veut allouer. Le premier exemple: #include void main()
Formation de base à lutilisation du micro - ordinateur.
FICHIERS.
Etude de cas : buffer clavier
Les pointeurs Enormément utilisé en C/C++ ! Pourquoi? A quoi ça sert?
Les fichiers binaires en C++
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.
IFT Structures de données
Stockage Secondaire: Disques
Operations de Base en C++ sur les Fichiers
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
Les Fichiers.
Gestion de Fichiers GF-5: Storage Secondaire: Bandes Magnetiques (Base sur Chapitres 3 de Folk, Zoellick & Riccardi, File Structures, An Object-Oriented.
1 Le fichier séquentiel Suite finie déléments dun même type Exemples : – fichier des livres dune bibliothèque – enregistrements sur un magnétophone – ensemble.
Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre.
Structures de données IFT-2000 Abder Alikacem Semaine 11, 1 ère partie Les B-arbres Département dinformatique et de génie logiciel Édition septembre 2009.
Les fichiers texte en C++
1212 Entrée et sortie de fichiers Objectifs À la fin de ce cours, vous serez capables de : • Lire à partir de la console • Écrire sur la console.
Exemple de gestion d'un buffer clavier en liste circulaire
Faculté des sciences économique et gestion de Nabeul
Gestion de Fichiers GF-3: Structures d’Enregistrements, Acces Sequentiel et Direct, Manipulation de classes en C++ (Base sur des segments des Chapitres.
Chapitre IX Gestion de flux.
Fichiers de données Fichiers de contrôles Fichiers de journalisations Fichiers de paramètres d’initialisation.
Les pointeurs L'opérateur &.
Soutenance de stage Lieux: CITI – INSA Lyon Marcel Pierrick Année IUT Valence – 51, rue B. de Laffemas VALENCE – Département GTR Développement.
Chapitre 4 : LES PUiSSANCES
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
AGIR : Défis du XXIème Siècle.
PHP 3° PARTIE : GESTION DE FICHIERS ET DE REPERTOIRES
1 FICHIERS. 2 Les Fichiers  Les "entrées-sorties conversationnelles" échangent des informations entre le programme et l'utilisateur.  Le terme de fichier.
Gestion de Fichiers GF-6: Storage Secondaire: CD-ROMs & 2 Questions sur la Gestion des Donnees (Base sur Chapitres 3 de Folk, Zoellick & Riccardi, File.
COMPOSANTES INTERNES DE L’UNITE CENTRALE.
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Un survol du language C.
Structures de données avancées : Fichiers uni-dimensionnels Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
GF-11: Tri Interne Efficace et Tri Externe
Structures de données avancées : Fichiers multidimensionnels Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) zegour.esi.dz
Classe 1 CSI2572 Autres modificateurs de déclaration de variables: & volatile & register & static & auto & extern & const volatile Indique au compilateur.
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.
GF-4: Storage Secondaire: Disques
Mémoire Externe Mircea Stoica XII-R1 Disquette Disque dur
Structures de données avancées : Arbres B+ avec expansion partielle D. E ZEGOUR Institut National d ’Informatique.
Structures de données avancées : Introduction D. E ZEGOUR Institut National d ’Informatique.
8PRO107 Éléments de programmation Les adresses et les pointeurs.
Algorithmique et langage C
INFO 2014 Fichiers et base de données Philippe Fournier-Viger Département d’informatique, U.de Moncton Bureau D216,
Plan… -Introduction et motivations : -Qu'est-ce que le traitement de fichiers ? -Terminologie et définitions fondamentales des structures de fichiers :
ARCHITECTURE MATERIELLE D’UN SYSTEME A MICROPROCESSEUR
Informatique 2A Langage C 4ème séance
Accès aux fichiers en C.
Transcription de la présentation:

Mémoire périphérique Stockage primaire: Mémoire principale (RAM) Stockage secondaire: Périphériques Disques Rubans magnétiques

Comparaison (exemple) Temps d’accès à un octet de donnée Accès disque: 9 x 10-3 sec Accès mémoire: 60 x 10-9 sec.

Comparaisons (par mégabyte) Médium 1996 1997 2000 RAM $45.00 7.00 1.50 Disque 0.25 0.10 0.01 Floppy 0.50 0.36 Ruban 0.03 0.001 RAM est volatile. RAM est environ 1/4 million fois plus rapide qu’un disque.

Traitement de fichiers Minimiser le nombre d’accès disque! 1. Structurer l’information sur le disque pour minimiser le nombre d’accès nécessaires. 2. Minimiser le nombre d’accès futurs. Structure de fichier: organisation des données sur le disque. Compromis espace temps (disque): Compresser l’information peut réduire le temps de d’accès et de traitement.

Lecteur de disque Perche Plateaux Têtes de lecture/écriture Piste Axe

Secteurs Un secteur est l’unité de base des E/S. Secteurs Espaces inter-secteur Bits de données

Secteurs Facteur d’entrelacement (Interleaving factor): Distance physique entre deux secteurs logiquement adjacent sur une piste. Tête Tête

Terminologie Principe de la localité: Lorsqu’un enregistrement est lu sur le disque, la prochaine requête risque de se faire dans la même localité. Groupe de secteurs (cluster): Plus petite unit d’allocation d’un fichier. Domaine (extent): Un ensemble de groupes physiquement contigue. Fragmentation interne: Espace perdu dans un secteur si la taille de l’enregistrementif ne correspond pas à la taille d’un secteur où si la taille du fichier n’est pas un multiple de la taille d’un groupe de secteurs.

Temps d’accès Temps d’accès (seek time): Temps pour atteindre la piste désirée. Temps inter-piste: Temps minimum pour se déplacer d’une piste à une piste adjacente.. Temps d’accès moyen: Temps moyen pour atteindre une piste lors d’un accès direct.

Autres facteurs Temps de rotation:. Temps de transfert: À 7200 rmp: La moitié d’une rotation en moyenne À 7200 rpm, cela prend 8.3/2 = 4.2ms. Temps de transfert: À 7200 rmp: 8.3ms * (Nb secteurs à lire) / (Nb secteurs/piste)

Exemple Disque de 16.8 GB sur 10 plateaux= 1.68GB/plateau 13,085 pistes/plateau 256 secteurs/piste 512 octets/secteur Temps inter-piste: 2.2 ms Temps d’accès moyen: 9.5ms 4KB groupes, 32 groupes/piste. Facteur d’entrelacement de 3. 5400RPM (11.1ms par rotation)

Exemple (2) Lire un fichier de 1MB divisé en 2048 secteurs de 512 octets. On suppose que le fichier est sur 8 pistes contiguës. Première piste: 9.5 + 11.1/2 + 3 x 11.1 = 48.4 ms 7 autres pistes: 2.2 + 11.1/2 + 3 x 11.1 = 41.1 ms. Total: 48.4 + 7 * 41.1 = 335.7ms

Exemple (3) Lire un fichier de 1MB divisé en 2048 secteurs de 512 octets. On suppose que les groupes sont réparties aléatoirement sur le disque. 256 groupes. Temps de lecture d’un groupe est (3 x 8)/256 rotation. Ce qui donne 1 ms. 256(9.5 + 11.1/2 + 1) = 4108.8 ms. C’est-à-dire plus de 4 secondes. This is MUCH worse than the previous example.

Combien d’octets doit-on lire? Temps pour lire une piste: 9.5 + 11.1/2 + 3 x 11.1 = 48.4ms. Temps pour lire un secteur: 9.5 + 11.1/2 + (1/256)11.1 = 15.1ms. Temps pour lire un octet: 9.5 + 11.1/2 + (1/(256*512))11.1= 15.05 ms. La plupart des lecteurs de disque lisent 1 secteur à la fois.

Mémoire tampon L’information d’un secteur est mise dans un tampon ou cache. Si le prochain accès est dans le même tampon alors on a pas besoin de faire un accès disque. En général, il y a plus d’une mémoire tampon pour la lecture et pour l’écriture.

Point de vu du programmeur Vision logique des fichiers: Un tableau d’octets. Un pointeur de fichier indique la position courante. 3 opérations fondamentales: Lire n octets à partir de la position courante (déplacer le pointeur de fichier) Écrire n octets à partir de la position courante (déplacer le pointeur de fichier) Déplacer le pointeur de fichier à une position donnée.

stdio.h #include <stdio.h> FILE* fopen(char* fichier, char *mode); mode r pour lecture, le fichier doit exister w pour écriture, détruit les fichiers existants a pour ajout à la fin r+ pour lecture et écriture, le fichier doit exister int fclose(FILE* fp);

stdio.h int feof(FILE* fp); int fseek(FILE* fp, long deplacement, int origine) origine SEEK_CUR position courante SEEK_END fin du fichier SEEK_SET début du fichier

stdio.h size_t fread(void* tampon, size_t taille, size_t nombre, FILE* fp); size_t fwrite(void* tampon, size_t taille, int fprintf(FILE* fp, char* format[, parametres]); int fscanf(FILE* fp, char* format[, parametres]);

fstream.h #include <fstream.h> void fstream::open(char* name, openmode mode); Example: ios::in | ios::binary void fstream::close(); fstream::read(char* ptr, int numbytes); fstream::write(char* ptr, int numbtyes); fstream::seekp(int pos); fstream::seekp(int incr,int pos); pos= ios::curr où ios::deb où ios::end