Système d'exploitation Ms-Dos  Notions élémentaires

Les disques

  1. Description physique
  2. Estimation de la capacité des disques
  3. Organisation des données
  4. Facteurs affectant le temps d’un accès disque

 

Description physique Menu les disques

L'information rangée sur disque est rangée sur une surface de 1 ou plusieurs plateaux. L'arrangement est tel que l'information est rangée dans des pistes successives sur la surface du disque. Chaque piste est souvent divisé en un nombre de secteurs. Un secteur est la plus petite portion adressable du disque.

Quand une lecture est lancée pour un octet particulier se trouvant sur un fichier disque, l'OS trouve la surface concernée, la piste puis le secteur. Ensuite il lit tout le secteur dans une zone spéciale dans la RAM appelée buffer, puis détermine exactement l'octet désiré.

Si l'unité de disque utilise plusieurs plateaux, on l'appelle disk pack. Les pistes qui sont directement dessous et dessus forme un cylindre (colonne). Toutes les informations sur un même cylindre peuvent être accéder sans bouger le bras qui tient les têtes de lectures/écriture. Le mouvement de ce bras est appelé recherche ( Seeking ). Ce mouvement de bras constitue la partie la plus lente de la lecture d'une information à partir du disque.

Estimation de la capacité des disques   Menu les disques

Il existe des disques de 3 à 14 pouces. la capacité de stockage dépend de la densité. Une densité faible, pas chère, consiste à ranger 4 K-octets par piste et 35 pistes par surface. Une densité forte, donc chère peut avoir 50K-octets par surface et 1000 pistes par surface.

Capacité d'une piste = nombre de secteurs/piste X nombres d'octets/secteur.

Capacité du cylindre = nombre de piste par cylindre X capacité d'une piste.

Capacité du disque = nombre de cylindre X capacité du cylindre.

Si on connaît le nombre d'octets du fichier, on peut utiliser ces relations pour calculer l'espace disque nécessaire.

Exemple : soit un fichier de 20 000 articles de longueur fixe à ranger sur un disque avec les caractéristiques suivantes :

nombre d'octets/secteur : 512

nombre de secteurs/piste : 40

nombre de piste par cylindre : 11

Combien nous faut-il de cylindre si chaque article possède 256 octets. ==> réponse (20000/2) / (40 X 11) = 22,7 cylindres. Les cylindres ne seront pas forcément contigus.

Organisation des données  Menu les disques

Il existe 2 façons d'organiser les données sur disque : par secteur et par bloc défini par l'utilisateur.

par secteur

Placement physique des secteurs

Si les secteurs d’un fichier sont adjacents, sur une piste, le lecture séquentielle est inéficace du fait que l’on perd le début du secteur suivant pendant le transfert de l’information. Une bonne solution consiste à laisser un intervalle entre deux secteurs logiques.

Comme exemple, pour lire les 32 secteurs d’une piste, il faut 32 révolutions dans le cas où les secteurs sont adjacents. Par contre si on prend un intervalle égale à 5 ( principe des secteurs ‘inter-leaving’) alors 5 révolutions suffisent pour lire tous les secteurs.

Clusters

C'est un nombre fixe de secteurs contigus. Tous les secteurs d'un cluster sont lus sans bouger la tête de lecture/écriture. Le système de gestion de fichier utilise une table pour gérer ces clusters. Chaque entrée dans cette table est le couple ( n° du cluster, adresse du cluster).

Pour un système donné, le nombre de secteurs par cluster est généralement fixé. L'idéal, bien sur, c'est d’avoir des grands clusters. Ceci permettrait alors de lire des fichiers sans trop bouger le bras, ce qui donne de très bonne performance quand le fichier est traité séquentiellement.

Etendue

Quand il y a assez d'espace sur le disque, il est préférable de créer des fichiers entièrement avec des clusters contigus : c'est ce nous appelons une étendue. S'il n'y a pas assez d'espace, le fichier est alors distribué en plusieurs étendues. Il est certain que quand le nombre d'étendues augmente, les performances se dégradent.

fragmentation

Si la taille d'un secteur n'est pas un multiple de la taille d'un article, deux éventualités peuvent se produire :

- l'article n'est rangé dans le secteur que si la place est disponible.

- l'article peut être à cheval sur deux secteurs.

Dans le premier cas, il y a création de la fragmentation interne ( apparition de "trous" ). Dans le second cas, deux accès sont exigés pour récupérer certains articles.

La fragmentation interne peut aussi résulter de l'utilisation des clusters : si le nombre d'octets dans un fichier n'est pas un multiple de la taille du cluster, il peut exister une fragmentation interne dans la dernière étendue du fichier.

Par bloc

Utilisé dans ce contexte, le terme bloc référence un groupe d'articles qui sont rangés ensemble sur le disque et traités comme une unité d'Entrée/Sortie. Quand les blocs sont utilisés, l’utilisateur est mieux placé pour faire l'organisation physique des données correspondant à son organisation logique, et donc quelquefois améliore les performances. Les unités organisés en blocs peuvent aussi permettre au contrôleur de rechercher parmi les blocs sur une piste un article avec une clé donnée sans transmettre le bloc non trouvé en RAM.

Facteurs affectant le temps d’un accès disque  Menu les disques

Le coût d'un accès disque peut être mesuré en terme de temps. C'est le temps occupé par le mouvement du bras ("Seeking" ), le délai rotationnel et le transfert. Si on utilise le principe des "secteur interleaving", il est possible d’accéder à des secteurs logiquement adjacents en les séparant physiquement par 1 ou plusieurs secteurs. Bien qu'ils prennent plus de temps pour l'accès à un simple article directement que séquentiellement, le temps du positionnement du bras exigé pour l'accès direct le rend beaucoup plus lent que l'accès séquentiel quand une série d'articles est à accéder.