Article de reference

Apple DOS

Apple DOS était le système d'exploitation disque des ordinateurs Apple II, de fin 1978 à début 1983. Il a été remplacé par ProDOS en 1983. Apple DOS a connu trois versions majeu...

système d'exploitation disque des ordinateurs Apple II, de fin 1978 à début 1983. Il a été remplacé par ProDOS en 1983. Apple DOS a connu trois versions majeures : DOS 3.1, DOS 3.2 et DOS 3.3 ; chacune de ces versions a été suivie d'une seconde version mineure corrective, mais seule la version Apple DOS 3.2 a reçu son propre numéro de version : Apple DOS 3.2.1. La version la plus connue et la plus utilisée est Apple DOS 3.3, sortie en 1980 et 1983. Avant la sortie d'Apple DOS 3.1, les utilisateurs d'Apple devaient utiliser des cassettes audio pour stocker et récupérer leurs données.

Apple II en avril 1977, ce nouvel ordinateur ne disposait ni de lecteur de disquettes ni de système d'exploitation disque (DOS). Bien que Steve Wozniak, cofondateur d'Apple, ait conçu le contrôleur Disk II à la fin de cette année-là et se soit senti capable de développer un DOS, son associé Steve Jobs décida de sous-traiter cette tâche. L'entreprise envisagea d'utiliser CP/M de Digital Research , mais Wozniak recherchait un système d'exploitation plus convivial. Le 10 avril 1978, Apple signa un contrat de 13 000 $ avec Shepardson Microsystems pour le développement d'un DOS, avec un délai de livraison de 35 jours. Apple fournit des spécifications détaillées, et Randy Wigginton, un des premiers employés d'Apple , travailla en étroite collaboration avec Paul Laughton de Shepardson, ce dernier développant le système d'exploitation à l'aide de cartes perforées et d'un mini-ordinateur .

Il n'y a pas eu d'Apple DOS 1 ou 2. Les versions 0.1 à 2.8 étaient des révisions numérotées séquentiellement au cours du développement, que l'on aurait tout aussi bien pu appeler les versions 1 à 28. Apple DOS 3.0, une version renommée de la version 2.8, n'a jamais été publiée en raison de bogues. Apple n'a publié aucune documentation officielle avant la version 3.2.

Apple DOS 3.1 a été publié en juin 1978, un peu plus d'un an après la sortie de l'Apple II, devenant ainsi le premier système d'exploitation sur disquette pour ordinateur Apple. Une version corrective a suivi, résolvant un problème lié à son firmware incluait une fonction de démarrage automatique qui détectait automatiquement un contrôleur de disque et démarrait à partir de celui-ci lors de la mise sous tension du système ; cette fonction a d'ailleurs été nommée « ROM de démarrage automatique ». DOS 3.2.1 a ensuite été publié en juillet 1979 avec quelques corrections de bogues mineurs. floppy disk storage. The newer P5A/P6A PROMs in the disk controller enable the reading and writing of data at a higher density, so 16 sectors (4KiB) can be stored per track instead of 13 sectors (3.25KiB), increasing capacity from 113.75KB to 140KB per sidefilesystem overhead and a copy of DOS, leaving 124KB for user programs and data. DOS 3.3 is, however, not backward compatible; it cannot read or write DOS 3.2 disks. To address this problem, Apple Computer released "MUFFIN", a utility to migrate Apple DOS 3.2 files and programs to version 3.3 disks. Apple never offered a utility to copy in the other direction. To migrate Apple DOS 3.3 files back to version 3.2 disks, someone wrote a "NIFFUM" utility. There are also commercial utilities (such as Copy II Plus) that can copy files between either format (and eventually ProDOS as well). Release 3.3 also improves the ability to switch between Integer BASIC and Applesoft BASIC, if the computer has a language card (RAM expansion) or firmware card.

Technical details

Apple DOS 3.1 disks use 13 sectors of data per track, each sector being 256 bytes. It uses 35 tracks per disk side, and can access only one side of the floppy disk, unless the user flipped the disk over. This gives the user a total storage capacity of 113.75KB per side, of which about 10KB are used to store DOS itself and the disk directory, leaving about 100KB for user programs.

La première couche du système d'exploitation, appelée RWTS (Read/Write Track Sector), comprend des sous-programmes pour la recherche de pistes, la lecture et l'écriture de secteurs, ainsi que le formatage du disque. Une API , le Gestionnaire de fichiers, a été développée par-dessus et implémente des fonctions permettant d'ouvrir, de fermer, de lire, d'écrire, de supprimer, de verrouiller ( protection en écriture ), de déverrouiller (autorisation d'écriture) et de renommer des fichiers, ainsi que de vérifier leur intégrité structurelle. On y trouve également une BLOAD , BSAVE et BRUN pour stocker, charger et exécuter des fichiers binaires . Les programmes BASIC sont fournis avec des fichiers batch textuels composés de commandes BASIC et DOS. Enfin, quatre types de fichiers existent, identifiés par des lettres dans un catalogue :

Il existe quatre types de fichiers supplémentaires : « R », « S », ainsi que deux autres types « A » et « B », dont aucun n’est entièrement pris en charge. DOS reconnaît ces types uniquement pour l’affichage des listes de fichiers, et il n’existe aucun moyen direct de manipuler ces types de fichiers. Le type « R » a été utilisé pour certains fichiers exécutables binaires relogeables . Quelques programmes prennent en charge le type « S » comme fichier de données.

Une table de vecteurs d'appel située dans la région $03D0–03FF interface de ligne de commande BASIC cesse de fonctionner, il peut être réinitialisé en appelant l'adresse $03D0 Moniteur système .

chargeur de démarrage

Le processus de chargement d'Apple DOS implique une série de programmes très petits, chacun faisant progresser le processus de chargement de quelques étapes avant de passer le contrôle au programme suivant dans la chaîne.

  • À l'origine, la ROM de l'Apple II ne prenait pas en charge le démarrage sur disque. À la mise sous tension, l'invite du Moniteur système s'affichait. Le Moniteur et le BASIC entier disposaient tous deux de commandes permettant de rediriger l'impression vers un pilote d'imprimante installé dans un emplacement dédié. La méthode classique pour démarrer sur disque consistait donc à ordonner à l'ordinateur de commencer à « imprimer » sur la carte d'interface disque, généralement installée dans l'emplacement 6, à l'aide de la commande 6 Control-P(depuis le Moniteur ML) ou Integer BASIC . Les variables de ce langage ne pouvaient manipuler que des nombres entiers compris entre -32 768 et +32 767 ( valeurs binaires 16 bits ) ; les nombres à virgule flottante n'étaient pas pris en charge. Apple a chargé Microsoft de développer Applesoft BASIC [ capable de gérer les nombres à virgule flottante. Applesoft BASIC ne pouvant exécuter de programmes Integer BASIC, certains utilisateurs hésitent à effectuer la mise à niveau.

    DOS 3.3 est sorti à une époque où Applesoft BASIC était intégré en ROM sur l'Apple II Plus. Apple l'a donc conçu pour permettre de basculer entre les deux interpréteurs BASIC. L'interpréteur BASIC entier est chargé en RAM sur la carte de langage de l'Apple II (si présente) et, en saisissant `basic` Apple III , dont le succès fut mitigé, et son système d'exploitation SOS . Deux nouvelles versions d'Apple DOS, toujours appelées DOS 3.3 mais intégrant des corrections de bogues et une meilleure prise en charge du nouveau modèle Apple IIe , furent publiées début et mi-1983.

    Sans correctifs tiers , Apple DOS ne peut lire que les disquettes insérées dans un lecteur Disk II 5,25 pouces et ne peut accéder à aucun autre support, comme les disques durs, les disques RAM virtuels ou les lecteurs de disquettes 3,5 pouces . La structure des disquettes Apple DOS (en particulier la table des secteurs libres, limitée à une partie d'un seul secteur) est telle qu'il est impossible de disposer de plus de 400 Ko simultanément par lecteur sans une réécriture majeure de la quasi-totalité du code ; c'est la principale raison pour laquelle Apple a abandonné cette version de DOS en 1983, date à laquelle Apple DOS a été entièrement remplacé par ProDOS .

    ProDOS conserve le format bas niveau à 16 secteurs de DOS 3.3 pour les disquettes 5,25 pouces, mais introduit un nouveau format haut niveau adapté aux périphériques jusqu'à 32 Mo ; il est ainsi compatible avec les disques durs de l'époque et les disquettes 3,5 pouces . Tous les ordinateurs Apple, à partir de l'Apple II Plus, peuvent exécuter à la fois DOS 3.3 et ProDOS. L'Apple II Plus nécessite une carte d'extension de mémoire (« Language Card ») pour utiliser ProDOS ; les modèles Apple II Plus et suivants intègrent une carte de langage et peuvent donc exécuter ProDOS directement. ProDOS inclut un logiciel permettant de copier des fichiers depuis les disquettes Apple DOS. Cependant, de nombreuses personnes n'ayant pas besoin des améliorations apportées par ProDOS (et n'appréciant pas son empreinte mémoire beaucoup plus importante ) ont continué à utiliser Apple DOS ou l'un de ses clones longtemps après 1983. La convention Apple consistant à stocker un système d'exploitation amorçable sur chaque disquette permet d'utiliser des logiciels commerciaux quel que soit le système d'exploitation installé par l'utilisateur. Un programme appelé DOS.MASTER permet aux utilisateurs d'avoir plusieurs partitions virtuelles DOS 3.3 sur un volume ProDOS plus grand, ce qui permet l'utilisation de nombreux programmes DOS sur disquette avec un disque dur.

    Peu de temps après la sortie de ProDOS, Apple a retiré l'autorisation aux tiers de redistribuer DOS 3.3, mais a accordé à une société, Syndicomm, une licence exclusive pour revendre DOS 3.3.

    Les jeux commerciaux n'utilisaient généralement pas Apple DOS, préférant disposer de leurs propres routines de disque personnalisées à des fins de protection contre la copie et d'optimisation des performances.

Améliorations des performances

La routine RWTS de DOS peut lire ou écrire une piste en deux révolutions avec un entrelacement approprié . Un secteur du disque en rotation passe sous la tête de lecture/écriture pendant que la routine RWTS décode le secteur qui vient d'être lu (ou encode le suivant à écrire). Si ce secteur manqué est le prochain nécessaire, DOS doit attendre presque une révolution complète du disque pour que le secteur repasse. Ce phénomène, appelé « passage d'une révolution », est un goulot d'étranglement bien connu des performances des systèmes de disques. Pour éviter cela, les secteurs d'un disque DOS sont organisés de manière entrelacée :

0 7 e 6 d 5 c 4 b 3 a 2 9 1 8 f

Plus tard, ProDOS a organisé les secteurs dans cet ordre :

0 8 1 9 2 a 3 b 4 c 5 d 6 e 7 f

Lors de la lecture et du décodage du secteur 0, le secteur 8 défile ensuite, rendant ainsi le secteur 1, probablement le prochain secteur nécessaire, disponible immédiatement. Lors de la lecture du secteur 7, deux secteurs inutiles, f et 0, défilent avant que le secteur 8 ne soit disponible. Enfin, lors de la lecture du secteur 15, le lecteur doit toujours attendre une rotation supplémentaire pour le secteur 0 sur la même piste. Cependant, le secteur 0 réellement nécessaire se trouve généralement sur la piste immédiatement supérieure, et cette piste peut être positionnée par rapport à la précédente afin de laisser le temps nécessaire au décodage du secteur qui vient d'être lu et au déplacement de la tête de lecture avant le passage du secteur 0. En moyenne, une piste complète peut être lue en deux rotations du disque.

Le gestionnaire de fichiers des premières versions de DOS compromettait cette efficacité en copiant les octets lus ou écrits dans un fichier un par un entre un tampon disque et la mémoire principale, ce qui augmentait le temps de traitement et entraînait une surchauffe constante du processeur lors des opérations de lecture ou d'écriture. Des programmes permettant de formater les disques avec un entrelacement de secteurs modifié furent rapidement disponibles ; ces disques offraient à DOS un intervalle plus long entre les secteurs pour la copie des données, atténuant ainsi le problème.

Par la suite, des programmeurs externes à Apple ont réécrit les routines du gestionnaire de fichiers afin d'éviter la copie supplémentaire pour la plupart des secteurs d'un fichier ; RWTS a été configuré pour lire ou écrire les secteurs directement en mémoire vive plutôt que depuis un tampon disque lors du transfert d'un secteur complet. Un correctif préliminaire offrant cette fonctionnalité a été publié dans Call-APPLE . Des gains de vitesse l'Apple IIGS, GS/OS, a par la suite utilisé une technique de « lecture dispersée » encore plus efficace, qui lisait tout secteur passant sous la tête de lecture si celui-ci était nécessaire au fichier en cours de lecture.

Publication du code source

En 2013, plus de 35 ans après la sortie de l' Apple II , le code source original d'Apple DOS a été publié par le Computer History Museum sur son site web. Il a été offert par son auteur original, Paul Laughton.

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index