Sophie

Sophie

distrib > Mandriva > 9.0 > i586 > by-pkgid > 0d5cd12c82d627a82c59047e1ba7b8a9 > files > 1883

howto-html-fr-9.0-0.2mdk.noarch.rpm

<HTML>
<HEAD>
<TITLE>Un peu de technique et de terminologie</TITLE>
</HEAD>
<BODY>
<H1>2. <A NAME="s2"></A>Un peu de technique et de terminologie</H1>
<P>
<A HREF="Large-IDE.html#toc2">Contenu de cette section</A></P>

<P>Les secteurs des disques ATA (IDE) comportent 512 octets. On peut
adresser un secteur de deux mani&egrave;res~: par son adresse
logique (<EM>LBA, Logical Block Address</EM>), qui est un num&eacute;ro
compris entre 0 et le nombre total de secteurs du disque, ou par son
adresse physique qui est un triplet cylindre-t&ecirc;te-secteur
(<EM>CHS, Cylinder-Head-Sector</EM>). Pour convertir des adresses
logiques en adresses physiques, il est n&eacute;cessaire de
conna&icirc;tre la <EM>g&eacute;om&eacute;trie du disque</EM>,
c'est-&agrave;-dire le nombre de t&ecirc;tes par cylindre, le nombre
de secteurs par t&ecirc;te et le nombre de cylindres qu'il comporte.
Ces informations permettent aussi de calculer la taille du disque.</P>
<P></P>
<P>Les anciens contr&ocirc;leurs et les vieux BIOS ne permettent d'utiliser
que l'adresse physique pour adresser un secteur. Tous les
contr&ocirc;leurs et tous les BIOS permettent d'utiliser l'adresse
physique pour rep&eacute;rer un secteur. Linux manipule le plus souvent
possible des adresses logiques, sauf au plus bas niveau, o&ugrave; il
effectue une conversion de ces adresses en adresses physiques pour
dialoguer avec le contr&ocirc;leur. Linux n'utilise pas le BIOS pour
tout cela, sauf pour d&eacute;terminer la g&eacute;om&eacute;trie du
disque.</P>
<P></P>
<P>La table des partitions contient les adresses de d&eacute;but et de
fin des partitions sous forme logique ET physique. <EM>fdisk</EM> sous
DOS et <EM>fdisk</EM> sous Linux s'attendent bien s&ucirc;r &agrave;
ce que les deux formes soient coh&eacute;rentes entre elles pour
chaque partition.  <EM>fdisk</EM> sous DOS demande au BIOS la
g&eacute;om&eacute;trie du disque, et <EM>fdisk</EM> sous Linux la
demande au noyau.</P>
<P></P>
<P>C'est ici que les choses se corsent. MS-DOS et l'interface BIOS
utilisent un champ de dix bits pour stocker les num&eacute;ros de
cylindre, ne permettant d'utiliser que des num&eacute;ros compris
entre 0 et 1023, ce qui est tout &agrave; fait insuffisant pour les
disques modernes qui comportent habituellement 63 secteurs par
t&ecirc;te, 16 t&ecirc;tes par cylindre, et un tr&egrave;s grand
nombre de cylindres (<EM>N.D.T.</EM> plus de 2~000 pour un disque
de 1~Go). La solution pour pouvoir exploiter ces
disques, en d&eacute;pit de cette limitation est une bidouille~: un
BIOS EIDE ment au sujet de la g&eacute;om&eacute;trie du disque en
divisant par deux (ou par quatre) le nombre de cylindres et en
doublant (respectivement, en quadruplant) le nombre de
t&ecirc;tes. Quand une requ&ecirc;te comportant une adresse physique
lui arrive, le BIOS consid&eacute;rera que cette requ&ecirc;te utilise
la g&eacute;om&eacute;trie bidon et la convertira pour dialoguer avec
le contr&ocirc;leur du disque. Ce m&eacute;canisme est appel&eacute;
une <EM>conversion d'adresse</EM>.</P>
<P></P>
<HR>
<P>
Chapitre <A HREF="Large-IDE-3.html">suivant</A>,
Chapitre <A HREF="Large-IDE-1.html">Pr&eacute;c&eacute;dent</A>
<P>
Table des mati&egrave;res de <A HREF="Large-IDE.html#toc2">ce chapitre</A>,
 <A HREF="Large-IDE.html#toc">Table des mati&egrave;res</A> g&eacute;n&eacute;rale</P>
<P>
<A HREF="Large-IDE.html">D&eacute;but</A> du document,
 <A HREF="#0"> D&eacute;but de ce chapitre</A></P>
</BODY>
</HTML>