Enregistrements physiques et logiques dans TRSDOS
Un enregistrement physique est défini comme un secteur de disque. Un secteur de disque contient 256 octets de données utilisateur. Le terme artificiel «granule» est défini comme étant 5 secteurs d'espace disque. Il y a 2 granules sur chacune des 35 pistes du disque. Un granule est la plus petite quantité d'espace allouée par TRSDOS. A des fins de programmation, les enregistrements physiques d'un fichier sont numérotés de 0 à N. Le plus grand numéro d'enregistrement (N) dans un fichier sera alors égal à cinq fois le nombre de granulés alloués moins un ((5*G)-1). Toutes les allocations de granules TRSDOS sont effectuées selon les besoins au moment de l'écriture, et non lors de la création du fichier.
Octets | Secteurs | Granules | Pistes | Disque |
---|---|---|---|---|
256 | 1 | - | - | - |
1280 | 5 | 10 | 2 | 1 |
2560 | 10 | 2 | 1 | - |
89600 | 350 | 70 | 35 | 1 |
Un enregistrement logique est défini par l'utilisateur de TRSDOS. Il peut avoir une longueur comprise entre 1 et 255 octets. Une fois qu'un fichier est ouvert avec une LRL (longueur d'enregistrement logique) spécifique, la longueur est fixe jusqu'à ce que le fichier soit fermé. Pour changer la LRL d'un fichier, vous devez le fermer (CLOSE) et le rouvrir (OPEN) avec la nouvelle LRL.
Chaque ouverture du fichier définit une seule longueur d'enregistrement fixe. Le TRSDOS bloquera les enregistrements logiques dans (ou à partir) d'un enregistrement physique pour une utilisation maximale de l'espace sur le disque.
Le blocage consiste à placer plusieurs enregistrements logiques dans un enregistrement physique. Par exemple, quatre enregistrements logiques de 64 octets tiennent dans un enregistrement physique de 256 octets. Un enregistrement logique peut être divisé en deux parties par TRSDOS afin de remplir entièrement la dernière partie d'un enregistrement physique avant de commencer à utiliser l'enregistrement physique suivant (c'est-à-dire que les enregistrements sont fractionnés). Cela se produit lorsque la longueur de l'enregistrement physique n'est pas un multiple pair de la longueur de l'enregistrement logique.
Si l'utilisateur souhaite effectuer son propre blocage, il peut spécifier une longueur d'enregistrement logique de 0 octet au moment de INIT/OPEN et doit gérer lui-même le contenu de la zone tampon d'enregistrement physique de 256 octets. Le TRSDOS ne déplacera pas un enregistrement logique pour l'utilisateur si LRL=0; dans ce cas particulier, il ne fera que lire/écrire l'enregistrement physique vers/depuis le tampon.