GF-4: Storage Secondaire: Disques Gestion de Fichiers GF-4: Storage Secondaire: Disques (Base sur Chapitres 3 de Folk, Zoellick & Riccardi, File Structures, An Object-Oriented Approach with C++)
Résume du Cours d’Aujourd’hui Vues Générales L’Organisation des Disques Estimation de la Capacité des Disques Organisation des Pistes par Secteur Organisation des Pistes par Blocs Espace Perdu a l’Organisation Le Coût d’un Accès au Disque Améliorer l’Accès au Disque
Vue Générale sur le Storage Secondaire Maintenant que nous avons appris a manipuler les fichiers, apprenons la nature et les limitations des périphériques de storage. Ces connaissances vont nous aider a créer des structures de fichiers mieux adaptées aux limitations des périphériques et qui minimiseront le coût d’accès aux données étant donne un certain périphérique de storage.
Vue Générale sur les Disques Les disques appartiennent a la catégorie de périphérique de storage a accès direct car ils permettent d’accéder aux données directement plutôt que séquentiellement. Ceci peut être contraste aux périphériques de storage en série (e.g., les bandes magnétiquesAméliorermettent seulement l’accès séquentiel. Il existe plusieurs types de disques: Disques Durs: grande capacité + petit coût Disquettes: très bon marche, mais accès lent et petite capacité (sauf pour les Disques Zip) Disques Optiques (CD-ROM): seulement pour la lecture, capacité énorme, bon marche a reproduire, mais très lents.
L’Organisation des Disques I 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 piste successives sur la surface de chaque plateau. Chaque piste est souvent divisée en un nombre de secteurs qui sont les portions les plus petites du disque qui peuvent être referees.
L’Organisation des Disques II Lorsqu’une instruction de lecture cherche un octet particulier dans un fichier sauvegarde 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.
L’Organisation des Disques III L’unité de disque a typiquement un nombre de plateaux et de pistes loges directement les uns sous les autres. L’ensemble des pistes logées les unes sous les autres s’appelle un cylindre. Toutes les informations contenues sur le même cylindre peuvent être accédées sans déplacer le bras qui possède les têtes de lecture et d’écriture. Déplacer ce bras s’appelle rechercher (seeking) et correspond a 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 * octets par secteur Capacité d’un cylindre = nombre de pistes par cylindres * capacité d’une piste Capacité d’une unité de disque = nombre de cylindres * capacité d’un cylindre
Organisation des Données: I 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, cette organisation n’est pas optimale: 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 Données: I Organisation des Pistes par Secteurs (Continue) Solution Traditionnelle: Interfolier les secteurs. C’est a dire: laisser un intervalle de plusieurs secteurs physiques entre des secteurs logiquement adjacents. De nos jours, cependant, la vitesse du contrôleur s’est améliorée. Désormais, l’interfoliation n’est plus nécessaire.
Organisation des Données: I Organisation des Pistes par Secteurs (Continue) Le fichier peut aussi être appréhende comme en une série de groupements (clusters) de secteurs qui représentent un nombre fixe de secteurs (logiques) contigus. Une fois qu’un groupement a été trouve sur un disque, tous les secteurs de ce groupement peuvent être accèdes sans recourir a une recherche (seek) supplémentaire. La Table d’Allocation de Fichiers (File Allocation Table) relie les secteurs logiques aux groupements physiques auxquels ils appartiennent.
Organisation des Données: I Organisation des Pistes par Secteurs (Continue) 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) Le fichier peut, dans ce cas, être traite 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 disperse sur le disque et plus il requiert de temps de recherche.
Organisation des Données: I Organisation des Pistes par Secteurs (Continue) Il y a deux organisations possibles pour les enregistrements (si les enregistrements sont plus petit que la taille d’un secteur): Placer un enregistrement par secteur Placer les enregistrements successivement (ceci peut forcer certains enregistrements a être étendus sur deux secteurs.
Organisation des Données: I Organisation des Pistes par Secteurs (Continue) 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: Il n’y a pas de fragmentation interne. Désavantage de 2: il se peut que 2 secteurs doivent être accéder afin de ne récupérer qu’un seul enregistrement. L’utilisation de groupements entraîne aussi de la fragmentation interne.
Organisation des Données: II 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 fichier et des capabilites du système d’exploitation.
Organisation des Donnees: II Organisation des Pistes par Blocs (Continue) Les blocs n’ont pas les problèmes d’enregistrements distribues sur 2 secteurs ni de fragmentation interne puisque leur taille varie de manière a accommoder l’organisation logique des données. Le facteur du bloc indique le nombre d’enregistrements d’un fichiers qui peuvent être sauvegardes dans chaque bloc. Chaque bloc est généralement accompagne de sous-blocs: le sous-bloc clé ou le sous-bloc compte.
Espace Perdu a l’Organisation I Que vous utilisiez une organisation par bloc ou par secteur un certain montant d’espace du disque est perdu a l’organisation. C’est a dire de l’information sauvegardée sur le disque pendant le pre-formatage. Sur les disques adressables par secteurs, pre-formatage consiste a 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 bloc, les sous-blocs et les espaces d’entre blocs doivent être fournis avec chaque bloc.
Espace Perdu a l’Organisation II 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 peut économiser du temps car elle 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): est le temps requis pour déplacer le bras jusqu’au cylindre demande. Le Délai de rotation est le temps qu’il prend au disque pour tourner de façon a ce que le secteur demande soit sous la tête de lecture/écriture. Le Temps de Transfert est égal au: (Nombre d’Octets Transferres / Nombre d’Octets sur une Piste) * Temps Nécessaire pour une Rotation
Améliorer l’Accès au Disque I Les processus sont souvent limites par le disque (Disk-Bound) ce qui veut 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 a d’autres processus en attendant le résultat du disque. Solution 2: Divisions (Stripping): plusieurs parties s’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 II Solution 3: 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 configure 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.