M - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

M

Description:

RAM est environ 1/4 million fois plus rapide qu'un disque. ... Combien d'octets doit-on lire? Temps pour lire une piste: 9.5 11.1/2 3 x 11.1 = 48. ... – PowerPoint PPT presentation

Number of Views:21
Avg rating:3.0/5.0
Slides: 21
Provided by: clif61
Category:

less

Transcript and Presenter's Notes

Title: M


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

2
Comparaison (exemple)
  • Temps daccès à un octet de donnée
  • Accès disque 9 x 10-3 sec
  • Accès mémoire 60 x 10-9 sec.

3
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 0.25
Ruban 0.03 0.01 0.001
  • RAM est volatile.
  • RAM est environ 1/4 million fois plus rapide
    quun disque.

4
Traitement de fichiers
  • Minimiser le nombre daccès disque!
  • 1. Structurer linformation sur le disque pour
    minimiser le nombre daccès nécessaires.
  • 2. Minimiser le nombre daccès futurs.
  • Structure de fichier organisation des données
    sur le disque.
  • Compromis espace temps (disque) Compresser
    linformation peut réduire le temps de daccès et
    de traitement.

5
Lecteur de disque
Perche
Plateaux
Têtes de lecture/écriture
Piste
Axe
6
Secteurs
  • Un secteur est lunité de base des E/S.

Secteurs
Espaces inter-secteur
Bits de données
7
Secteurs
  • Facteur dentrelacement (Interleaving factor)
    Distance physique entre deux secteurs logiquement
    adjacent sur une piste.

Tête
Tête
8
Terminologie
  • Principe de la localité Lorsquun 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
    dallocation dun fichier.
  • Domaine (extent) Un ensemble de groupes
    physiquement contigue.
  • Fragmentation interne Espace perdu dans un
    secteur si la taille de lenregistrementif ne
    correspond pas à la taille dun secteur où si la
    taille du fichier nest pas un multiple de la
    taille dun groupe de secteurs.

9
Temps daccès
  • Temps daccès (seek time) Temps pour atteindre
    la piste désirée.
  • Temps inter-piste Temps minimum pour se déplacer
    dune piste à une piste adjacente..
  • Temps daccès moyen Temps moyen pour atteindre
    une piste lors dun accès direct.

10
Autres facteurs
  • Temps de rotation.
  • La moitié dune 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)

11
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 daccès moyen 9.5ms
  • 4KB groupes, 32 groupes/piste.
  • Facteur dentrelacement de 3.
  • 5400RPM (11.1ms par rotation)

12
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

13
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 dun groupe
  • est (3 x 8)/256 rotation. Ce qui donne 1 ms.
  • 256(9.5 11.1/2 1) 4108.8 ms. Cest-à-dire
    plus de 4 secondes.

14
Combien doctets 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/(256512))11.1 15.05 ms.
  • La plupart des lecteurs de disque lisent 1
    secteur à la fois.

15
Mémoire tampon
  • Linformation dun 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 dune mémoire tampon pour
    la lecture et pour lécriture.

16
Point de vu du programmeur
  • Vision logique des fichiers
  • Un tableau doctets.
  • 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.

17
stdio.h
  • include ltstdio.hgt
  • 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)

18
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

19
stdio.h
  • size_t fread(void tampon, size_t taille,
  • size_t nombre, FILE
    fp)
  • size_t fwrite(void tampon, size_t taille,
  • size_t nombre, FILE
    fp)
  • int fprintf(FILE fp, char format,
    parametres)
  • int fscanf(FILE fp, char format, parametres)

20
fstream.h
  • include ltfstream.hgt
  • void fstreamopen(char name, openmode mode)
  • Example iosin iosbinary
  • void fstreamclose()
  • fstreamread(char ptr, int numbytes)
  • fstreamwrite(char ptr, int numbtyes)
  • fstreamseekp(int pos)
  • fstreamseekp(int incr,int pos)
  • pos ioscurr où iosdeb où iosend
Write a Comment
User Comments (0)
About PowerShow.com