Title: Gestion de Fichiers
1Gestion de Fichiers
- GF-4 Storage Secondaire Disques
- (Base sur Chapitres 3 de Folk, Zoellick
Riccardi, File Structures, An Object-Oriented
Approach with C)
2Résume du Cours dAujourdhui
- Vues Générales
- LOrganisation des Disques
- Estimation de la Capacité des Disques
- Organisation des Pistes par Secteur
- Organisation des Pistes par Blocs
- Espace Perdu a lOrganisation
- Le Coût dun Accès au Disque
- Améliorer lAccès au Disque
3Vue 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 daccès aux données étant donne un
certain périphérique de storage.
4Vue 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 daccé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 laccè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.
5LOrganisation des Disques I
- Linformation sauvegardée sur un disque est
sauvegardée sur la surface dun ou plusieurs
plateau (disque). - Linformation 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.
6LOrganisation des Disques II
- Lorsquune instruction de lecture cherche un
octet particulier dans un fichier sauvegarde sur
un disque, le système dexploitation de
lordinateur 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 loctet dans la
mémoire tampon.
7LOrganisation des Disques III
- Lunité de disque a typiquement un nombre de
plateaux et de pistes loges directement les uns
sous les autres. Lensemble des pistes logées les
unes sous les autres sappelle 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 sappelle rechercher (seeking)
et correspond a la portion la plus lente du
processus de lecture ou décriture sur disque.
8Estimation de la Capacité dun Disque
- Capacité dune piste nombre de secteurs par
piste octets par secteur - Capacité dun cylindre nombre de pistes par
cylindres capacité dune piste - Capacité dune unité de disque nombre de
cylindres capacité dun cylindre
9Organisation des Données I Organisation des
Pistes par Secteurs
- Le Placement Physique des Secteurs
- Lorganisation la plus logique et pratique des
données dun 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 lorganisation physique,
cependant, cette organisation nest pas optimale
après avoir lu des données, le contrôleur de
disque a besoin de temps pour traiter
linformation 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 linformation
précédente.
10Organisation des Données I Organisation
des Pistes par Secteurs (Continue)
- Solution Traditionnelle Interfolier les
secteurs. Cest a dire laisser un intervalle de
plusieurs secteurs physiques entre des secteurs
logiquement adjacents. - De nos jours, cependant, la vitesse du contrôleur
sest améliorée. Désormais, linterfoliation
nest plus nécessaire.
11Organisation 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 quun 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 dAllocation de Fichiers (File
Allocation Table) relie les secteurs logiques aux
groupements physiques auxquels ils appartiennent.
12Organisation des Données I Organisation
des Pistes par Secteurs (Continue)
- Sil y a beaucoup despace 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 nest 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.
13Organisation 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 dun secteur) - Placer un enregistrement par secteur
- Placer les enregistrements successivement (ceci
peut forcer certains enregistrements a être
étendus sur deux secteurs.
14Organisation des Données I Organisation
des Pistes par Secteurs (Continue)
- Trade-Offs
- Avantage de 1 Chaque enregistrement peut être
récupéré dun seul secteur. - Désavantage de 1 De lespace est perdu dans
chaque secteur ? Fragmentation Interne. - Avantage de 2 Il ny 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 quun
seul enregistrement. - Lutilisation de groupements entraîne aussi de la
fragmentation interne.
15Organisation des Données II Organisation
des Pistes par Blocs
- Plutôt que dêtre divisées en secteurs, les
pistes dun disque peuvent être divisées en blocs
définis par lusager. - Lorsque les données dune piste sont organisées
en bloc, cela veut dire, en général, que le
montant de données transférées lors dune seule
opération dentrée/sortie peut varier en fonction
des besoins de larchitecte du logiciel (et non
celui du hardware). - Les blocs peuvent normalement avoir une taille
fixe ou variable selon les spécifications de
larchitecte du système de fichier et des
capabilites du système dexploitation.
16Organisation des Donnees II Organisation
des Pistes par Blocs (Continue)
- Les blocs nont pas les problèmes
denregistrements distribues sur 2 secteurs ni de
fragmentation interne puisque leur taille varie
de manière a accommoder lorganisation logique
des données. - Le facteur du bloc indique le nombre
denregistrements dun 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.
17Espace Perdu a lOrganisation I
- Que vous utilisiez une organisation par bloc ou
par secteur un certain montant despace du disque
est perdu a lorganisation. Cest a dire de
linformation 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, ladresse du secteur, de la
piste, et sa condition (utilisable ou defective)
des espaces et des marques de synchronisations
entre les champs dinformation afin daider le
mécanisme de lecture/écriture de les distinguer. - Dans les organisations par bloc, les sous-blocs
et les espaces dentre blocs doivent être fournis
avec chaque bloc.
18Espace Perdu a lOrganisation II
- Relativement, lespace nécessaire pour
lorganisation dans lorganisation par bloc est
plus grand que dans lorganisation par secteur. - Plus la taille dun bloc grandit, plus le montant
de fragmentation interne sagrandit. - La flexibilité introduite par lutilisation 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. - LOrganisation en bloc néanmoins demande plus de
temps au programmeur et au système
dexploitation. - De plus, dans lorganisation en bloc, les
opérations dentrée/sortie ne peuvent pas être
synchronisées avec le mouvement du disque.
19Le Coût dun Accès au Disque
- Le Temps de recherche (Seek Time) est le temps
requis pour déplacer le bras jusquau cylindre
demande. - Le Délai de rotation est le temps quil 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 dOctets Transferres / Nombre dOctets
sur une Piste) Temps Nécessaire pour une
Rotation
20Améliorer lAccès au Disque I
- Les processus sont souvent limites par le disque
(Disk-Bound) ce qui veut dire que le réseau et
lunité centrale doivent souvent attendre très
longtemps avant que le disque ne transmette les
données. - Solution 1 Programmation Multiple lunité
centrale travaille a dautres processus en
attendant le résultat du disque. - Solution 2 Divisions (Stripping) plusieurs
parties sun fichier sont divisées entre
différentes unités de disques, qui délivrent
toutes les parties du fichier en parallèle
21Améliorer lAccè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 dun
disque. Le programme vérifie dabord 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 lune des pages du cache avec la page du
disque contenant ces données.