Envoyer un e-mail à Collection ThomsonCollection Thomson
EditoForum 2002Liens
Nanoreseau
Docs
Logiciels
Matériel
Imprimer le documentLa documentation de Prehis-To
Retour à la liste

Le RamDisk

            Le RamDisk est le disque virtuel, composé exclusivement de mémoire vive, toujours en double densité (256 octets par secteur) et qui permet des accès plus rapides aux données que les supports magnétiques. De plus, il est créé en mémoire commutable à partir de la banque la plus éloignée, même si pour cela le système doit déplacer les fichiers CHG de plusieurs banques. Sa capacité peut être fixée au choix à 64, 128, 192, 256 ou 320 kilooctets. Chaque banque du RamDisk est divisée en 4 pistes de 16 secteurs double densité, comportant donc chacun 256 octets. Lors d'une opération RamDisk, la banque concernée est commutée dans l’espace cartouche ($0000-$3FFF, sur TO); c'est d'ailleurs la raison pour laquelle le système d'exploitation RamDisk ne peut accéder à un secteur utilisateur s'il se trouve dans cette zone.
            Les secteurs sont sauvegardés de l'adresse $0000 vers l'adresse $3FFF (entrelacement 1) pour les 4 pistes internes à chaque banque RamDisk tandis que les banques sont initialisées de la banque de numéro maximum vers la banque de numéro minimum. Le nombre total de pistes varie en fonction de la capacité du RamDisk:

Taille du RamDisk

Nombre de pistes

Numéros de pistes

64

16

De 16 à 31

128

32

De 0 à 31

192

48

De 0 à 47

256

64

De 0 à 63

320

80

De 0 à 79


            Dans la régularité physique d'un RamDisk, la piste 20 (FAT, catalogue et nom de disquette) fait exception: quelque soit la capacité du RamDisk, cette piste se trouve toujours dans la banque de numéro maximum, de l'adresse $0000 à $0FFF; pour un TO8 sans extension mémoire, c'est la banque 15; avec extension, c'est la banque 31. Voici donc les formules pour calculer le numéro de banque et l'offset d'un secteur RamDisk, BanqueMax étant la banque de numéro maximum et tout résultat d'opération restant entier:

Piste

RamDisk

Formule

20

Tous

Adresse = $0000

Tous

Banque  = BanqueMax

Inférieure à 20

Tous

Adresse = ((((Piste + 1) & 4) * 16) + (Secteur - 1)) * 256

64 k

Banque = BanqueMax - ((Piste - 15) / 4)

> 64 k

Banque = BanqueMax - ((Piste + 1) / 4)

Supérieure à 20

Tous

Adresse = (((Piste & 4) * 16) + (Secteur - 1)) * 256

64 k

Banque = BanqueMax - ((Piste - 16) / 4)

> 64 k

Banque = BanqueMax - (Piste / 4)


            Au sein du système d’exploitation, un programme ré-étalonne le numéro de piste dans le cas d'un RamDisk de 64 kilooctets. Pour ramener l'intervalle des numéros de pistes de type RamDisk de 16-31 à 0-15, on soustrait 16 au numéro de piste et on comble le passage de la piste 20 en retirant 1 au numéro obtenu si la piste traitée va au-delà de la piste 20. On obtient donc un intervalle de 0 à 14. Le numéro de piste 20 étant conservé en l'état par la routine - parce qu'étant traité comme celui de la piste de FAT et de catalogue par les routines suivantes - l'éventualité de rencontrer le numéro de piste 37 ($25), altéré, lui, par la routine de conversion, sèmerait la confusion, puisqu'en retirant 16 et 1 à 37, on obtient le numéro de piste... 20! C'est pourquoi il est exclu du traitement.

Site
Plus
Forums
Code
Créations

*Site en favoris
*Page en favoris
*Site en démarrage
*Page en démarrage


Haut de page

Collection Thomson 2015 © Ghislain Fournier & François Mouret