Conversion de CHS
La conversion du CHS est une conversion entre le du même rang géométrique du (cylindre/tête/secteur ou ''' de ''' CHS) des données sur une face du disque et du système d'adressage employés par le système de fichiers du disque (adresse de base ou linéaire LBA ). Ce processus de conversion est employé avec les disquettes comme les disques durs mais cet article se concentrera sur son utilisation avec les disquettes.
En accédant à des données sur un disque par l'intermédiaire du contrôleur de disques souple de de s du PC d'IBM de ', le conducteur doit décrire l'endroit de cela des données en termes de ses coordonnées de CHS. Ces coordonnées sont spécifiées using trois dimensions : le nombre de cylindre, le nombre principal et le secteur numérotent.
La méthode de adressage employée par presque tous les systèmes de fichiers modernes s'appelle le bloc logique de adressant (LBA) . Dans l'adressage de bloc logique, seulement un nombre est employé pour adresser des données, plutôt que trois. Chaque adresse de base linéaire décrit un bloc simple. La raison pour l'usage de LBA au lieu de CHS dans le système de fichiers est en raison de sa simplicité. La plupart des disquettes modernes contiennent 2.880 blocs (numéro 0 à 2.
De CHS à LBA
L'équation à convertir de CHS en LBA suit :LBA = ((CYL * L'HPC + TÊTE) * SPT) + SECTION - 1
Là où : LBA : adresse de base linéaire du bloc CYL : valeur de la coordonnée du cylindre CHS L'HPC : nombre de têtes par cylindre pour le disque TÊTE : valeur de la coordonnée de la tête CHS SPT : nombre de secteurs par voie pour le disque Section : valeur de la coordonnée du secteur CHS
Cette équation n'est pas employée très souvent. Habituellement le logiciel déjà a la valeur de LBA et doit calculer la valeur de CHS pour lui.
De LBA à CHS
Les équations à convertir de LBA en CHS suivent :CYL = LBA/(L'HPC * SPT) LA TEMPÉRATURE = LBA % (L'HPC * SPT) TÊTE = TEMPÉRATURE/SPT SECTION = TEMPÉRATURE % SPT + 1
Là où : LBA : adresse de base linéaire du bloc CYL : valeur de la coordonnée du cylindre CHS L'HPC : nombre de têtes par cylindre pour le disque TÊTE : valeur de la coordonnée de la tête CHS SPT : nombre de secteurs par voie pour le disque Section : valeur de la coordonnée du secteur CHS LA température : amortisseur pour tenir une valeur provisoire
Cette équation est employée très souvent par des logiciels d'exploitation tels que DOS pour calculer les valeurs de CHS qu'il doit envoyer au contrôleur de disques ou à l'INT13h afin de lire ou écrire des données.
Exemple de code assembleur
Le procédé suivant calcule la coordonnée géométrique d'un bloc de données basées sur une adresse de LBA spécifique. Travaille seulement quand la HACHE est assez pour tenir LBA.
Proc de GetCHS HACHE de mouvements, LBA xor DX, DX mouvements BX, SPT division BX inc. DX section de mouvements, DL xor DX, DX mouvements BX, l'HPC division BX CYL de mouvements, AL TÊTE de mouvements, DL rouir Endp de GetCHS
.
| Random links: | Communications en Maldives | Fandom de la science-fiction | Paul Hornung | O (1) programmateur | Claire Johnston | Conversión_de_CHS |