home *** CD-ROM | disk | FTP | other *** search
- $VER: vdisk_fr.doc 2.7 (22.6.97) (C) 1994-1997 par Etienne Vogt
-
-
- INTRODUCTION
-
- vdisk.device est un pilote de disque RAM récupérable. Il est né il y a 2 ans
- sous la forme d'une version modifiée d'ASDG-RAM (le premier RAM disque récupérable
- écrit par Perry S. Kivolowitz). Ces versions (1.3 à 1.12) n'ont jamais été
- distribuées.
- A partir de la version 2.0 , il a été entièrement recodé, avec de nombreuses
- fonctions nouvelles :
-
- - Jusqu'à 16 unités de taille virtuellement illimitée (512 Mo)
- - Allocation et déallocation dynamique de la mémoire.
- - Supporte tous les systèmes de fichiers AmigaDOS.
- - Résiste aux plus lourds crash systèmes tant que ses propres données ne sont
- pas endommagées.
- - En cas de non récupération, la cause peut être déterminée à l'aide d'une
- commande de support.
-
- VDisk requiert AmigaDOS 2.04 ou supérieur (V37). Il a été testé de manière
- intensive sur les configurations suivantes :
-
- - A500 68000 ECS , 1 Mo Chip 2 Mo Fast 1.5 Mb fausse fast , WB 3.1
- 20 Mo IDE-XT + 170 Mo SCSI HDs
- - A3000 68030 ECS, 2 Mo Chip 8 Mo Fast , WB 2.04 -> 3.1
- 100 Mo + 1 Go SCSI HDs
- - A500 68040(PP&S) ECS , 1 Mo Chip 2 Mo Fast16 8 Mo Fast32 , WB 2.04
- 50 Mo SCSI HD
- - A4000 68040 AGA, 2 Mo Chip 8 Mo Fast , WB 3.0
- 120 Mo + 500 Mo IDE HDs
- - A4000 68040 AGA, 2 Mb Chip 8 Mb Fast , WB 3.0
- 250 Mo IDE HD + 1Go SCSI-II HDs
- - A1200 68EC020 AGA, 2 Mb Chip 5 Mb Fast , WB 3.0
- 60 Mo IDE HD + 100 Mo SCSI HDs
- - A4000T 68060(Phase5) AGA, 2 Mb Chip 8 Mb Fast , WB 3.1
- 1Gb SCSI-II HD
-
- VDisk est développé independamment de StatRam (un autre ram disque basé sur
- ASDG-RAM, ecrit par Richard Waspe et Nicola Salmoria)
-
-
- DISTRIBUTION
-
- VDisk est un logiciel sous Copyright librement distribuable (FreeWare).
- Neanmoins certaines restrictions du logiciel ASDG-RAM sont maintenues :
-
- Ce logiciel :
-
- - Ne peut être copié que sous la forme archivée originale, telle qu'il a
- été placé sur le serveur aminet par l'auteur.
- - Ne peut être distribué par aucun revendeur de matériel ou de logiciel.
- - Ne peut être vendu sous quelque forme que ce soit.
- - Doit contenir l'information de Copyright suivante :
-
- vdisk.device, Copyright 1994 by Etienne Vogt.
- Inspired from asdg.vdisk.device, Copyright 1987 by Perry S. Kivolowitz
- (ASDG Incorporated)
-
- Spécifiquement :
-
- Aucun fabriquant ou revendeur de matériel d'expansion Amiga ou de logiciel
- ne peut distribuer ce logiciel de quelque façon que ce soit. Aucun revendeur
- de logiciels domaine public ne peut également le distribuer (vu qu'il n'est
- pas domaine public).
- les seuls moyens de distribution acceptables sont les réseaux, bbs's et
- groupes d'utilisateurs. La distribution DOIT ÊTRE GRATUITE, à l'exception
- du prix du média et d'une somme raisonnable couvrant les frais de port et
- de gestion.
-
- Ce logiciel ne doit plus être placé sur un CD aminet, cela tant que le droit
- à un CD gratuit pour les auteurs ne sera pas rétabli.
-
-
- ABSENCE DE GARANTIE
-
- Ce logiciel est fourni "tel quel" sans aucune garantie ni explicite ni
- implicite. En utilisant ce logiciel, vous acceptez tous les risques quant à
- sa qualité ou ses performances.
-
-
- INSTALLATION
-
- - Copiez le fichier 'vdisk.device' dans votre répertoire DEVS: Ne modifiez
- pas le nom de ce fichier.
-
- - Copiez les commandes de support CleanRamDisk, DeleteRamDisk, VDStat dans
- votre répertoire C: ou tout autre répertoire accessible par votre chemin
- d'accès standard. Vous pouvez aussi copier les fichiers .info .
-
- - Si vous avez le système 2.1 ou supérieur, copiez le fichier VD0 dans votre
- répertoire DEVS:DOSDrivers . Vous pouvez changer le nom de ce fichier si
- vous le desirez. Vous pouvez également l'éditer afin de changer certains
- paramètres du RAM disque récupérable, comme sa taille maximale (voir plus
- loin).
-
- - Si vous avez le système 2.0 , concatenez le fichier VD0.mountlist avec votre
- fichier DEVS:MountList. Vous pouvez changer le nom de l'en-tête de l'enregis-
- trement de mount si vous le desirez. Vous pouvez également éditer cet enre-
- gistrement pour changer certains paramètres du RAM disque récupérable (voir
- plus loin). Verifiez auparavant que vous n'avez pas dejà un enregistrement
- du même nom dans votre fichier mountlist (particulièrement si vous utilisiez
- l'ancien ASDG-RAM.)
- Ajoutez une commande 'Mount VD0:' à votre fichier S:User-Startup. Si vous
- n'avez qu'un Mo de mémoire ou moins, il est recommandé de placer cette
- commande au début de votre Startup-Sequence pour minimiser les risques
- de non-récupération.
-
- - Si vous en êtes toujours au système 1.x, il serait peut-être temps de penser
- à évoluer...
-
- - Après cela, rebootez votre Amiga. Si tout est correct, une icône nommée
- VD-RAM-00 devrait apparaitre sur votre Workbench.
-
- NOTE : Si vous installez une nouvelle version de vdisk.device, vous *DEVEZ*
- entrer une commande 'DeleteRamDisk' sur chaque unité active avant de
- rebooter le système, ou toute sorte de choses bizarres peuvent se
- produire.
- Voyez les commandes de support plus loin.
-
-
- CHANGEMENT DES PARAMETRES DE MOUNT
-
- ATTENTION : La modification d'un paramètre de Mount autre que celles decrites
- ci-dessous entrainera un disfonctionnement du vdisk.device et
- pourra réveiller le GOUROU avec le numéro d'alerte $50000005 !
- Après TOUT changement d'un paramètre d'une unité active, vous
- DEVEZ entrer une commande 'DeleteRamDisk' sur cette unité avant
- de rebooter le système sous peine de comportements imprévisibles.
-
- - Nom de périphérique AmigaDOS : Contrairement à l'asdg-ram d'origine, vous
- pouvez donner le nom que vous voulez au RAM disque récupérable. Vous n'avez
- qu'a changer le nom du fichier de mount (OS 2.1+) ou de l'enregistrement
- mountlist (OS 2.0). Le nom par défaut est VD0 . Il est recommandé d'utiliser
- comme dernier caractère du nom un chiffre égal au numéro d'unité.
-
- - Unit : Ceci est le numéro d'unité. Vous pouvez avoir plusieurs RAM disques
- récupérables en ayant différents fichiers de mount avec différentes valeurs
- de ce paramètre. Les numéros valides sont 0 à 15, pour un total de 16 unités.
-
- - Flags : Ceci sert à spécifier des options. Vous pouvez les combiner en
- ajoutant leurs valeurs respectives (ex. Flags = 3 pour activer le
- nettoyage automatique et la 2ème tentative d'allocation mémoire).
- Une valeur de 1 pour Flags (bit 0 actif) active le nettoyage automatique de
- l'unité correspondante. Ceci signifie que la mémoire utilisée par le RAM
- disque diminue automatiquement lorsque vous effacez des fichiers. Un effet
- secondaire est que vous ne pouvez pas utiliser d'outils comme Disksalv pour
- récupérer les fichiers effacés. Si le nettoyage automatique est désactivé,
- vous devez utiliser la commande CleanRamDisk pour libérer la mémoire après
- avoir effacé des fichiers. Le nettoyage peut néanmoins se produire si le
- système manque de mémoire. Il est recommandé de laisser le nettoyage
- automatique activé.
- Une valeur de 2 (bit 1 actif) active la 2ème tentative d'allocation de
- mémoire. Lorsqu'une allocation mémoire échoue, une 2ème tentative sera
- effectuée avec des conditions moins restrictives (toute mémoire publique
- disponible sera utilisée). Cela n'est utile que si vous avez spécifié des
- conditions particulières d'allocation mémoire dans le champ BufMemType et
- que vous ne souhaitez pas qu'une erreur soit générée si ce type de mémoire
- est épuisée.
-
- - HighCyl : Est utilisé pour spécifier la taille maximale que le RAM disque
- récupérable est autorisé à utiliser. Quand cette limite est atteinte, AmigaDOS
- affiche une requête 'Le volume VD-RAM-00 est plein.'. Notez que contrairement
- à RAD, vdisk.device n'alloue de la mémoire que lorsque des fichiers sont
- stockés dedans.
- Ne donnez pas une valeur trop élévée à ce paramètre ! Si vous manquez de
- mémoire avant d'atteindre la taille maximale, AmigaDOS affichera une requête
- 'Volume VD-RAM-00 a une erreur d'écriture...' et l'integrité des fichiers
- sera compromise !!!
- La valeur recommandée pour la taille maximale est un quart du total de
- Fast RAM.
- Le paramètre HighCyl doit être une VALEUR IMPAIRE. HighCyl + 1 représente
- le nombre de 'pistes virtuelles' utilisables par le RAM disque. Une piste
- virtuelle a une taille de 8 Ko (16 secteurs de 512 octets).
- La valeur par défaut de 63 correspond donc à une taille maximale de
- (63 + 1) * 8 = 512 Ko. Pour un disque RAM de 2 Mo, vous specifierez ainsi
- une valeur HighCyl de 255. La valeur maximale théoriquement possible est
- 65533 (correspondant à 512 Mo). Souvenez-vous que cette valeur *DOIT*
- être impaire !
-
- - Buffers : Ceci est le nombre de mémoires tampons utilisées par le système
- de fichiers pour accélérer les accès disque. Pour un disque RAM, cela risque
- en fait de le ralentir, donc il vaut mieux ne pas modifier cette valeur.
-
- - BufMemType : Strictement parlant, ce paramètre indique le type de mémoire
- utilisé par le système de fichiers pour ses tampons internes. Pour vdisk,
- cela affecte également le type de mémoire allouée pour stocker les données.
- Vous pouvez combiner differents attributs en ajoutant leurs valeurs
- respectives.
- Une valeur de 1 (MEMF_PUBLIC) spécifie de la mémoire publique (partagée
- et non virtuelle). Ce type de mémoire est toujours utilisé.
- Une valeur de 2 (MEMF_CHIP) correspond à la mémoire chip et n'est pas
- recommandée.
- Une valeur de 4 (MEMF_FAST) correspond à la mémoire fast.
- Une valeur de 256 (MEMF_LOCAL) correspond à de la mémoire située sur
- la carte mère et censée survivre à un reset. Cet attribut peut être
- utile si vdisk perd son contenu après un reboot.
- Une valeur de 512 (MEMF_24BITDMA) correspond à de la mémoire accessible
- avec des adresses 24 bits. Mais cela ne garantit pas nécessairement de
- la mémoire 16 bits.
- Une valeur de 1024 (MEMF_KICK) correspond à de la mémoire accessible lors
- de l'initialisation du système. Cet attribut n'est défini qu'à partir du
- KickStart 3.0
- La valeur par défaut est 5 qui correspond à de la mémoire fast publique.
-
- - DosType : Le type de système de fichiers utilisé. Les valeurs possibles sont :
- 0x444f5300 : Old File System (Ancien système de fichiers). Lent et sans
- réelle utilité vu que vdisk.device possède ses propres
- sommes de contrôle.
- 0x444f5301 : Fast File System (Système de fichiers rapide). La valeur par
- défaut.
- 0x444f5302 : International Old File System (Version internationale de
- l'ancien système de fichiers). OS 2.1 +
- 0x444f5303 : International Fast File System (Version internationale du
- système de fichiers rapide). OS 2.1 +
- 0x444f5304 : Directory Caching Old File System (Ancien système de fichiers
- avec cache répertoire). OS 3.0 +
- 0x444f5305 : Directory Caching Fast File System (Système de fichiers rapide
- avec cache répertoire). OS 3.0 +
- Le mode international peut être utilisé sous AmigaDOS 2.1 et supérieur.
- Le mode cache répertoire n'est pas recommandé car il ralentit les accès au
- disque RAM.
-
- - Activate : Indique à la commande mount de démarrer le périphérique immédia-
- tement lorqu'il est mis à 1. S'il est mis à 0, vous devez ajouter à votre
- Startup une commande qui accède au disque RAM pour le lancer réellement.
-
-
- COMMANDES DE SUPPORT
-
- CleanRamDisk :
-
- Cette commande est utilisée pour forcer une unité vdisk à libérer la mémoire
- occupée par des fichiers effacés. Elle n'est généralement pas nécessaire
- lorsque le nettoyage automatique est activé.
- Cette commande peut être utilisée du Workbench (sans ses options). Selectionnez
- l'icône du RAM disque, puis double-cliquez sur l'icône CleanRamDisk.
-
- Usage : CleanRamDisk DEVICE,UNIT/K/N,NOFREECHIP/S,REBUILD/S,FREEBOOT/S
-
- DEVICE : Le nom de périphérique AmigaDOS (ex. VD0: )
- UNIT : Alternative au nom de périphérique AmigaDOS. Ce mot clé permet de
- spécifier le numéro d'unité. (ex. UNIT 0)
- NOFREECHIP : Lorsque BufMemType vaut 1, CleanRamDisk essaie normalement de
- reloger les pistes situées en mémoire Chip vers la mémoire
- Fast. Cette option supprime ce comportement.
- REBUILD : Lorqu'une unité de disque RAM a des erreurs de lecture (généralement
- causées par un logiciel défectueux qui utilise de la mémoire qu'il
- n'a pas allouée), son contenu sera perdu au prochain reboot (qui
- risque alors de se produire rapidement).
- Cette option force un recalcul de toutes les sommes de contrôle
- internes de façon à ce que l'unité soit maintenue en vie après
- réinitialisation. Les données elles-mêmes ne sont pas réparées,
- mais cela permet d'en sauver une grande partie.
- FREEBOOT : Si quelque chose a été ecrit dans les blocs de démarrage du
- disque RAM (normalement inutilisés), la piste 0 reste vérouillée
- en mémoire. Cette option marque les blocs de démarrage comme
- inutilisés, de façon à pouvoir libérer la piste 0.
-
- DeleteRamDisk :
-
- Cette commande efface une unité de disque RAM entièrement (Comme RemRAD
- pour le disque RAD). Toute la mémoire utilisée est libérée et le système
- de fichiers est inhibé (Une icône VD0:BUSY apparait sur le Workbench).
- Cette commande peut être appelée du Workbench. Selectionnez l'icône du
- disque RAM, puis double-cliquez sur l'icône DeleteRamDisk. Une requête vous
- demandera confirmation.
- Vous *DEVEZ* utiliser cette commande lorsque vous changez un paramètre de
- mount d'une unité active. Vous devez également effacer toutes les unités
- active lorsque vous installez une nouvelle version du vdisk.device.
-
- Usage : DeleteRamDisk DEVICE,UNIT/K/N
-
- DEVICE : Le nom de périphérique AmigaDOS (ex. VD0: )
- UNIT : Alternativement, vous pouvez indiquer le numéro d'unité (ex. UNIT 0)
-
- VDStat :
-
- Cette commande est utilisée pour afficher des informations sur une unité
- de disque RAM dont le contenu a été perdu après un reboot. Elle est
- essentiellement prévue pour des tests et n'est pas utilisable du Workbench.
- L'erreur de récupération numéro 2 (Root Structure not found) apparait
- toujours à la mise sous tension.
-
- Usage : VDStat DEVICE,UNIT/K/N,FULL/S
-
- DEVICE : Le nom de périphérique AmigaDOS (ex. VD0: )
- UNIT : Alternativement, vous pouvez indiquer le numéro d'unité (ex. UNIT 0)
- FULL : Cette option affiche davantage d'information. Elle est prévue pour
- les tests de mise au point.
-
- Codes d'erreurs de récupération :
-
- 1 (Deleted Unit / Unité effacée) : Cette erreur apparait après reboot lorsqu'
- une unité à été effacée par la commande DeleteRamDisk.
- 2 (Root Structure not found / Structure racine non trouvée) : Cette erreur
- apparait toujours à la mise sous tension. Elle peut également se produire
- si quelque chose d'autre (comme RAD) alloue de la mémoire en ordre inverse
- avant le démarrage du vdisk.device. Pour l'éviter, il faut monter une unité
- vdisk avant toute unité ramdrive. D'autres possibilités sont qu'un programme
- défectueux ait sauvagement ecrasé le haut de la mémoire ou que de la mémoire
- non resistante au reset soit présente (voir les problêmes connus).
- Cette erreur indique la perte de toutes les unités.
- 3 (Bad Root Structure Checksum / Somme de contrôle de la structure racine
- incorrecte) : La structure racine a été endommagée par un programme
- défectueux ou un problême de mémoire. Toutes les unités ont été perdues.
- 4 (Bad sector checksum / Somme de contrôle secteur incorrecte) : les données
- ont été endommagées par un programme défectueux ou un problême de mémoire.
- 5 (Track not found / Piste non trouvée) : Peut se produire si la taille
- maximale a été reglée à une valeur trop élevée, si la mémoire est fortement
- fragmentée, ou si un programme défectueux est parti écrire n'importe où.
- 6 (Reallocation Failure / Echec réallocation) : Tout semble correct, mais la
- mémoire n'a pu être réallouée par AllocAbs(). Cela indique un dysfonction-
- nement sérieux et est accompagné d'une alerte jaune numéro $50010003.
- Si vous avez accès à InterNet, envoyez-moi un rapport de bug (adresse à la
- fin du fichier).
- 7 (Unit Structure not found / Structure Unité non trouvée) : La structure
- unité a été écrasée par un programme défectueux ou un problême de mémoire.
- 8 (Bad Unit Structure Checksum / Somme de contrôle de structure unité incorrecte) :
- La structure unité a endommagée par un programme défectueux ou un problême de
- mémoire.
- 9 (Unknown Error / Erreur inconnue) : Comment l'avez-vous obtenue, celle-là ?
-
-
- CHANGEMENTS
-
- V 2.4 : Première version diffusée.
-
- V 2.5 : - vdisk retente les allocations mémoires qui ont échouées avec
- MEMF_PUBLIC lorsque BufMemType demandait l'allocation d'un type
- de mémoire spécifique. Cela diminue les risques de voir
- apparaitre des erreurs en écriture.
- - Documentation en français incluse suite à de nombreuses demandes.
-
- V 2.6 : - Le bidouillage permettant une utilisation sure de la mémoire
- en $C00000 a été entièrement réécrit. Il n'y a plus de problême
- de fragmentation.
- - La structure racine est maintenant allouée en MEMF_KICK
- (MEMF_LOCAL pour OS 2). Ceci devrait aider vdisk à survivre
- au reboot sur certains systèmes avec mémoire 32 bit non
- autoconfig.
- - Ajout de l'option AllocRetry aux flags pour spécifier une
- 2ème tentative d'allocation mémoire.
- - vdisk autorise maintenant un flush mémoire lorsqu'il essaie
- d'allouer de la mémoire.
-
- V 2.7 - Correction d'un bug stupide qui faisait planter les 68000 quand
- un numéro d'unité impair était utilisé.
-
-
- PROBLEMES CONNUS
-
- Il semble que certaines cartes accélératrices ont de la mémoire 32 bit dont
- le contenu est perdu après un reset. Ceci cause la perte des fichiers stockés
- dans vdisk.
- Si cela se produit, vous pouvez essayer de regler le parametre BufMemType à
- 1024 (pour OS 3+) ou à 256 (pour OS 2) pour empêcher vdisk d'utiliser ce
- type de mémoire. N'utilisez pas non plus l'option de 2ème tentative d'allocation
- mémoire dans les Flags.
-
-
- POUR CONTACTER L'AUTEUR
-
- Vous pouvez me contacter par courier electronique à l'adresse internet suivante :
- vogt@mesiob.obspm.fr
-
- Les rapports de bug doivent inclure une description complète de la configuration
- matérielle et logicielle, incluant tout utilitaire tournant en tache de fond.
-
-
- Etienne Vogt, 22/7/1997
-