240 likes | 365 Views
Gestion de Fichiers. Stockage Secondaire: Disques. Plan du cours d’aujourd’hui. Vue générale L’Organisation des disques Estimation de la capacité des disques Organisation des pistes par secteur Organisation des pistes par blocs Espace perdu à l’organisation
E N D
Gestion de Fichiers Stockage Secondaire: Disques
Plan du cours d’aujourd’hui • Vue générale • L’Organisation des disques • Estimation de la capacité des disques • Organisation des pistes par secteur • Organisation des pistes par blocs • Espace perdu à l’organisation • Coût et amélioration de l’accès au disque • FZR, Chapitre 3.1
Vue générale • Nous avons appris à manipuler les fichiers. • Nous appredrons la nature et les limitations des périphériques de stockage. • Etant donné un périphérique de stockage, ces connaissances vont nous aider à créer des structures de fichiers mieux adaptées à ces périphériques et qui minimiseront le coût d’accès aux données.
Vue générale • Périphériques à accès direct: - Disques magnétiques: * disques durs: haute capacité * disquettes: petite capacité … - Disques optiques: * CD-ROM … • Périphériques à accès séquentiel: - Cassettes magnétiques
Vue générale sur les disques • Il existe plusieurs types de disques: • Disques durs: grande capacité + petit coût • Disquettes: très bon marché, mais accès lent et petite capacité (sauf pour les Disques Zip) • Disques Optiques (CD-ROM): seulement pour la lecture, capacité énorme, bon marché à reproduire, mais très lents
Organisation des disques • L’information sauvegardée sur un disque est sauvegardée sur la surface d’un ou plusieurs plateau (disque). • L’information est sauvegardée sur des pistesuccessives sur la surface de chaque plateau. • Chaque piste est divisée en un nombre de secteurs qui sont les portions les plus petites du disque qui peuvent être referées. • L’information est accessible par le bras qui possède les têtes de lecture et d’écriture. • Voir Figures 3.1 et 3.2 dans le livre.
Organisation des disques (suite) • Lorsqu’une instruction de lecture cherche un octet particulier dans un fichier sauvegardé sur un disque, le système d’exploitation de l’ordinateur trouve la valeur du plateau, de la piste et du secteur dans lesquels se trouve cet octet; il lit le secteur tout entier dans une portion spéciale de la mémoire principale appelée mémoire tampon; et il cherche l’octet dans la mémoire tampon.
Organisation des disques (suite) • L’unité de disque a typiquement un nombre de plateaux et de pistes logés directement les uns sous les autres. L’ensemble des pistes logées les unes sous les autres s’appelle un cylindre. • Les informations contenues sur le même cylindre peuvent être accédées sans déplacer le bras de lecture et d’écriture. • Déplacer ce bras s’appelle rechercher (seeking) et correspond à la portion la plus lente du processus de lecture ou d’écriture sur disque.
Estimation de la capacité d’un disque • Capacité d’une piste = nombre de secteurs par piste X octets par secteur • Capacité d’un cylindre = nombre de pistes par cylindres X capacité d’une piste • Capacité d’une unité de disque = nombre de cylindres X capacité d’un cylindre
Estimation de la capacité: exemple • Voici un problème caractéristique: - On donne les caractéristiques d’un fichier et d’un disque - Question: De combien de cylindres a-t-on besoin pour stocker ce fichier sur ce disque? • caractéristiques d’un fichier: - enregistrements à longueur fixe - # d’enreg. = 50,000 ; taille d’un enreg. = 256 octets • caractéristiques du disque: - # d’octets par secteur= 512; # de sect. par piste = 63 - # de pistes par cylindre = 16 ; # de cylindres = 4092
Estimation de la capacité: exemple (suite) • Réponse: - 512/256 = 2 enregistrements par secteur - 2 X 63 = 126 enregistrements par piste - 16 X 126 = 2,016 enregistrements par cylindre - # de cylindres = 50,000/2,016 = 24.8 cylindres • Note: un disque peut ne pas avoir autant de cylindres contigues disponibles. Conséquence: ce fichier peut être dispersé sur des centaines de cylindres !
Organisation des pistes par secteurs Le Placement Physique des Secteurs • L’organisation la plus logique et pratique des données d’un fichier sur une piste de disque est de faire en sorte que les données adjacentes du fichier soient représentes par des segments de piste de taille fixe adjacents sur le disque. • Dans le contexte de l’organisation physique, cependant, cela n’est pas optimal: après avoir lu des données, le contrôleur de disque a besoin de temps pour traiter l’information reçue avant de pouvoir en accepter de nouvelles. Si les secteurs étaient physiquement adjacents, on perdrait le début du secteur suivant en traitant l’information précédente.
Organisation des Pistes par secteurs (suite) • Solution Traditionnelle: entrelacer les secteurs. C’est-à-dire: laisser un intervalle de plusieurs secteurs physiques entre des secteurs logiques adjacents. Voir Fig. 3.4. • On parle d’entrelacement de 1 à 1, 2 à 1, 3 à 1, etc. Voir à ce sujet la Figure 3.4 dans le livre. Le facteur d’entrelacement détermine le nombre de révolutions de disque à effectuer. • De nos jours, cependant, la vitesse du contrôleur s’est tellement améliorée que, désormais, l’entrelacement n’est plus nécessaire.
Organisation des pistes par secteurs (suite) • Le fichier peut aussi être conçu comme une série de groupements (clusters) de secteurs représentant un nombre fixe de secteurs (logiques) contigus. • Une fois qu’un groupement est trouvé sur un disque, tous les secteurs de ce groupement sont accessibles sans recourir à une recherche supplémentaire. • La table d’allocation de fichiers (File Allocation Table – FAT – Fig. 3.5) relie les secteurs logiques aux groupements physiques auxquels ils appartiennent.
Organisation des pistes par secteurs (suite) • S’il y a beaucoup d’espace libre sur un disque, il peut être possible de représenter un fichier entier par une série de groupements contigus. • Le fichier, dans ce cas, est dit être représente par une étendue (extent). Il peut donc être traité avec un montant minimum de temps de recherche. • Si une etendue n’est pas suffisante, alors on peut diviser le fichier en plusieurs étendues. • Plus le nombre d’étendues augmente, plus le fichier est dispersé sur le disque et plus il requiert de temps de recherche.
Organisation des pistes par secteurs (suite) • Il y a deux organisations possibles pour les enregistrements lorsque les enregistrements sont plus petits que la taille d’un secteur: • Placer un enregistrement par secteur • Placer les enregistrements successivement. ceci peut forcer certains enregistrements à être étendus sur deux secteurs.
Organisation des pistes par secteurs (suite) Compensations (Trade-Offs): • Avantage de 1: Chaque enregistrement peut être récupéré d’un seul secteur. • Désavantage de 1: De l’espace est perdu dans chaque secteur -- Fragmentation Interne. • Avantage de 2: pas de fragmentation interne. • Désavantage de 2: 2 secteurs peuvent être accédes afin de ne récupérer qu’un seul enregistrement. • L’utilisation de groupements entraîne aussi de la fragmentation interne lorsque la taille du fichier n’est pas un multiple de celle du regroupement.
Organisation des pistes par blocs • Plutôt que d’être divisées en secteurs, les pistes d’un disque peuvent être divisées en blocs définis par l’usager. • Lorsque les données d’une piste sont organisées en bloc, cela veut dire, en général, que le montant de données transférées lors d’une seule opération d’entrée/sortie peut varier en fonction des besoins de l’architecte du logiciel (et non celui du hardware). • Les blocs peuvent normalement avoir une taille fixe ou variable selon les spécifications de l’architecte du système de fichiers et des capacités du système d’exploitation.
Organisation des pistes par blocs (suite) • Les blocs n’ont pas les problèmes d’enregistrements distribués sur 2 secteurs ni de fragmentation interne puisque leur taille varie de manière à accommoder l’organisation logique des données. • Le facteur du bloc indique le nombre d’enregistrements d’un fichiers qui peuvent être sauvegardés dans chaque bloc. • Chaque bloc est généralement accompagné de sous-blocs: le sous-bloc compte, le sous-bloc clé, le sous-bloc de données. Certains sous-blocs sont destinés à l’administration du bloc. Voir Fig. 3.9 dans le livre.
Espace perdu à l’organisation • Que vous utilisiez une organisation par bloc ou par secteur un certain montant d’espace du disque est perdu à l’organisation. C’est-à-dire de l’information sauvegardée sur le disque pendant le pré-formatage. • Sur les disques adressables par secteurs, le pré-formatage consiste à sauvegarder, au début de chaque secteur, l’adresse du secteur, de la piste, et sa condition (utilisable ou defective) + des espaces et des marques de synchronisations entre les champs d’information afin d’aider le mécanisme de lecture/écriture de les distinguer. • Dans les organisations par blocs, les sous-blocs et les espaces d’entre blocs doivent être fournis avec chaque bloc.
Espace perdu à l’organisation (suite) • Relativement, l’espace nécessaire pour l’organisation dans l’organisation par bloc est plus grand que dans l’organisation par secteur. • Plus la taille d’un bloc grandit, plus le montant de fragmentation interne s’agrandit. • La flexibilité introduite par l’utilisation de blocs plutôt que de secteurs permet au programmeur de déterminer assez librement comment les données seront organisées physiquement sur le disque. • L’Organisation en bloc néanmoins demande plus de temps au programmeur et au système d’exploitation. • De plus, dans l’organisation en bloc, les opérations d’entrée/sortie ne peuvent pas être synchronisées avec le mouvement du disque.
Le coût d’un accès au disque • Le temps de recherche (seek time): temps requis pour déplacer le bras jusqu’au cylindre demandé • Le délai de rotation (latency): temps pris par le disque pour tourner afin de placer le secteur demandé sous la tête de lecture/écriture • Le temps de transfert : (# d’octets transferrés / # d’octets sur une piste) X temps de rotation
Améliorer l’accès au disque • Les processus sont souvent limités par le disque (disk-bound); c’est-à-dire que le réseau et l’unité centrale doivent souvent attendre très longtemps avant que le disque ne transmette les données. • Solution 1:programmation multiple: l’unité centrale travaille à d’autres processus en attendant le résultat du disque. • Solution 2: divisions (stripping): plusieurs parties d’un fichier sont divisées entre différentes unités de disques, qui délivrent toutes les parties du fichier en parallèle.
Améliorer l’accès au disque (suite) • Solution 3: Utiliser un RAID (Redundant Array of Independent Disks). • Solution 4: RAM disk Simule le comportement du disque mécanique en mémoire. • Solution 5: disk cache Un large bloc de mémoire configuré pour contenir des pages de données d’un disque. Le programme vérifie d’abord le cache. Si les données dont il a besoin ne sont pas dedans, il va chercher les données dans le disque et remplace l’une des pages du cache avec la page du disque contenant ces données.