ProDOS est le nom de deux systèmes d'exploitation similaires pour l' Apple II d' ordinateur personnel . Le ProDOS original, renommé ProDOS 8 dans la version 1.2, est le dernier système d'exploitation officiel utilisable par tous les ordinateurs Apple II 8 bits , et a été distribué de 1983 à 1993. L'autre, ProDOS 16 , était une solution provisoire pour l' Apple II GS 16 bits qui a été remplacé par GS/OS dans les deux ans.
ProDOS a été commercialisé par Apple sous le nom de Professional Disk Operating System et est devenu le système d'exploitation le plus populaire pour l'Apple II 10 mois après sa sortie en janvier 1983.
Arrière-plan
ProDOS a été publié pour combler les lacunes du système d'exploitation Apple précédent (appelé simplement DOS ), qui commençait à montrer son âge.
Apple DOS ne prend en charge que les disquettes 5,25" et nécessite des correctifs pour utiliser des périphériques tels que les disques durs et les lecteurs de disquettes non Disk-II , y compris les lecteurs de disquettes 3,5". ProDOS ajoute une méthode standard d'accès aux pilotes basés sur la ROM sur les cartes d'extension pour les périphériques de disque, étend la taille maximale du volume d'environ 400 kilo-octets à 32 méga-octets , introduit la prise en charge des sous-répertoires hiérarchiques (une fonctionnalité essentielle pour organiser l'espace de stockage d'un disque dur) et prend en charge les disques RAM sur les machines avec 128 Ko ou plus de mémoire. ProDOS résout les problèmes de gestion des interruptions matérielles et inclut une interface de programmation et d'extension bien définie et documentée, qui a toujours manqué à Apple DOS. Bien que ProDOS inclue également la prise en charge d'une horloge en temps réel (RTC), cette prise en charge est restée largement inutilisée jusqu'à la sortie de l' Apple II GS , le premier de la série Apple II à inclure une RTC à bord. Des horloges tierces étaient toutefois disponibles pour les modèles II Plus, IIe et IIc .
Contrairement aux versions précédentes d'Apple DOS, ProDOS a ses racines de développement dans SOS , le système d'exploitation de l' ordinateur Apple III sorti en 1980. La documentation de pré-version de ProDOS (y compris les premières éditions de Beneath Apple ProDOS ) documentait des codes d'erreur SOS, notamment un pour les disques commutés, que ProDOS lui-même n'a jamais pu générer. Son format de disque et son interface de programmation sont complètement différents de ceux d'Apple DOS, et ProDOS ne peut ni lire ni écrire sur des disques DOS 3.3, sauf au moyen d'un utilitaire de conversion ; tandis que le format de piste et de secteur de bas niveau des disques DOS 3.3 a été conservé pour les disques de 5,25 pouces, l'agencement de haut niveau des fichiers et des répertoires est complètement différent. Pour cette raison, la plupart des programmes en langage machine qui s'exécutent sous Apple DOS ne fonctionneront pas sous ProDOS. Cependant, la plupart des programmes BASIC fonctionnent, bien qu'ils nécessitent parfois des modifications mineures. Un programme tiers appelé DOS.MASTER permet aux utilisateurs d'avoir plusieurs partitions DOS 3.3 virtuelles sur un volume ProDOS plus grand.
Avec la sortie de ProDOS, le support du BASIC entier et du modèle Apple II original a cessé , car il avait été depuis longtemps remplacé par le BASIC d'Apple et l' Apple II Plus . Alors que DOS 3.3 charge toujours le support intégré pour la programmation BASIC, sous ProDOS, cette tâche est confiée à un programme système séparé appelé BASIC.SYSTEM , que l'on lance pour exécuter et écrire des programmes BASIC d'Apple. BASIC lui-même a continué à être intégré dans les ROM Apple ; BASIC.SYSTEM n'est qu'une amélioration de l' interpréteur de commandes qui permet aux programmes BASIC d'accéder à ProDOS au moyen de la même sortie texte « Control-D » qu'ils utilisaient sous DOS 3.3. BASIC.SYSTEM à lui seul nécessite à peu près autant de mémoire que l'ensemble de DOS 3.3. Comme le noyau ProDOS lui-même est rangé dans la RAM de la « Language Card », la quantité de RAM utilisable pour les programmeurs BASIC reste la même sous ProDOS que sous DOS 3.3.
Malgré les nombreux avantages de ProDOS, de nombreux utilisateurs et programmeurs y ont résisté pendant un temps en raison de leur investissement dans l'apprentissage des tenants et aboutissants d'Apple DOS et des logiciels et formats de données basés sur Apple DOS. L'une des raisons était que ProDOS n'autorisait que 15 caractères dans un nom de fichier, contre 30 pour Apple DOS. Mais le progiciel intégré AppleWorks d'Apple , sorti en 1984, s'est avéré une raison convaincante pour changer de système et, à la fin de 1985, peu de nouveaux logiciels étaient sortis pour l'ancien système d'exploitation. Les Apple II continuaient à pouvoir démarrer l'ancien DOS (même l' Apple II GS peut démarrer les anciennes disquettes DOS), mais comme les disquettes 3,5" et les disques durs sont devenus plus répandus, la plupart des utilisateurs passaient la majeure partie de leur temps sous ProDOS.
L' Apple IIe , également sorti en 1983, fut le premier ordinateur Apple II à disposer de 64 Ko de mémoire intégrée. Pendant un certain temps, Apple a livré DOS 3.3 et ProDOS avec les nouveaux ordinateurs.
Le ProDOS original a été renommé ProDOS 8 lorsque ProDOS 16 a été publié pour prendre en charge l'ordinateur Apple II GS 16 bits , bien que ProDOS 16 (qui était 8 bits à la base) ait été rapidement remplacé par GS/OS .
Exigences
Toutes les éditions de ProDOS nécessitent un Apple II ou compatible.
ProDOS 8 nécessite 64 Ko de mémoire pour fonctionner. Les versions originales de ProDOS (8) 1.0 à 1.0.2 ne nécessitent que 48 Ko pour le noyau, mais presque tous les programmes, y compris BASIC.SYSTEM nécessaire pour utiliser Applesoft BASIC , nécessitent 64 Ko, ce qui rend un système de 48 Ko inutile pour ProDOS en pratique, et la prise en charge des machines de 48 Ko a été supprimée dans la version 1.1.
ProDOS 8 version 2.x nécessite un processeur 65C02 ou supérieur (65802, 65816 ) . ProDOS 8 2.x s'exécute en 64 Ko, mais les programmes utilitaires sur le disque système nécessitent 128 Ko. Les systèmes dotés d'un processeur 6502 au lieu d'un 65C02 doivent utiliser des versions de ProDOS 8 antérieures à la version 2.0.
ProDOS 16 nécessite un Apple IIGS .
Clones Apple II sans licence
Avec la sortie de la version 1.01 de ProDOS et des versions ultérieures, un contrôle a été ajouté pour voir si le système fonctionnait sur un ordinateur officiel fabriqué par Apple. Si le mot "Apple" est trouvé dans le microprogramme ROM de l'ordinateur , ProDOS se chargera normalement. Si un autre mot est trouvé (par exemple "Golden", " Franklin ", "Elite"), ProDOS refuse de fonctionner et se bloque sur l' écran de démarrage . Cette mesure a été prise par Apple Computer pour décourager l'utilisation de clones Apple II sans licence . Il est toujours possible d'exécuter des versions plus récentes de ProDOS sur des clones en appliquant un patch small byte à une version donnée de ProDOS. Certains utilisateurs vont jusqu'à remplacer leur(s) puce(s) ROM physique(s) par une version copiée illégalement de la ROM d'Apple, ou par une ROM personnalisée avec le patch "Apple" ajouté dans le nom.
Prise en charge du disque
ProDOS 8 prend en charge nativement les lecteurs de disquettes compatibles Disk II , un lecteur RAM d'environ 59 Ko sur les ordinateurs dotés de 128 Ko ou plus de RAM et les périphériques de bloc dont les contrôleurs prennent en charge le protocole de microprogramme Pascal , une méthode standardisée d'acceptation des lectures et écritures de blocs introduite à l'origine pour une utilisation avec le p-System UCSD . Cette dernière catégorie comprend les lecteurs de disquettes 3,5" et les disques durs. Des pilotes de périphériques de bloc personnalisés peuvent également être intégrés au système d'exploitation.
Système de fichiers
ProDOS utilise le même système de fichiers que le système Apple SOS précédent pour Apple III . Le système de fichiers SOS/ProDOS est natif d' Apple SOS , ProDOS 8, ProDOS 16 et GS/OS . Certaines versions classiques de Mac OS sont également dotées d'un traducteur de système de fichiers pour gérer ce système de fichiers.
Un volume est alloué en blocs de 512 octets. (Les disquettes 5,25" sont toujours formatées en utilisant des secteurs de 256 octets, car c'est le format requis par la ROM du contrôleur pour démarrer le disque. ProDOS traite simplement les paires de secteurs de 256 octets comme un seul bloc sur ces lecteurs.) Un volume peut avoir une capacité allant jusqu'à 32 mégaoctets, et chaque fichier peut atteindre 16 mégaoctets. Chaque volume (disquette ou partition de disque dur) a un "nom de volume", un nom de fichier qui est utilisé comme nom de répertoire de base ; avoir deux volumes avec le même nom de volume peut entraîner des conflits. Si nécessaire, ProDOS recherche tous les lecteurs disponibles pour trouver un volume nommé. Les sous-répertoires sont pris en charge et le concept de "préfixe" (répertoire de travail ou chemin actuel) a été fourni pour faciliter le travail avec les sous-répertoires.
Les noms de fichiers, de répertoires et de volumes peuvent comporter de 1 à 15 caractères, commençant par une lettre, puis contenant davantage de lettres, de chiffres ou de points. Chaque entrée de fichier contient également le pointeur 16 bits (2 octets) vers le bloc contenant le début du fichier (ou son index de bloc) ; un nombre de blocs 16 bits ; une taille de fichier 24 bits (3 octets) ; un type de fichier 8 bits (1 octet) ; un type auxiliaire 16 bits (dont la signification dépend du type de fichier) ; des horodatages de création et de modification ; et des données relatives à la manière dont le fichier est stocké sur le volume. Les fichiers épars sont pris en charge, mais les fichiers ne sont jamais « éparsifiés » en supprimant les blocs remplis de zéros. L'en-tête de volume contient des informations similaires à celles relatives aux volumes.
Les répertoires (y compris le répertoire racine ) sont indexés séquentiellement, chaque bloc commençant par l'adresse du bloc précédent (ou zéro s'il n'y en a pas) et du bloc suivant (ou zéro s'il n'y en a pas). Le répertoire racine de la plupart des disques est initialisé à 4 blocs, ce qui permet 51 entrées (à l'exclusion de l'en-tête de volume). Sa taille ne change jamais, sauf par intervention manuelle avec des outils spéciaux. Les sous-répertoires commencent à un bloc et s'agrandissent automatiquement selon les besoins.
Les fichiers normaux sont indexés progressivement. Les fichiers à bloc unique (moins de 513 octets) n'ont pas de bloc d'index ; l'entrée du répertoire pointe directement vers le bloc de données du fichier. Les fichiers contenant entre 2 et 256 blocs (513 octets à 128 Ko) de données ont un seul bloc d'index, vers lequel pointe l'entrée du répertoire, qui contient une liste de 256 adresses de blocs de données maximum. Les fichiers plus volumineux ont un bloc d'index principal contenant une liste de 256 adresses de blocs d'index maximum. Lorsque l'Apple IIGS a été introduit, un nouveau format de stockage a été introduit pour les fichiers à deux fourches, comme c'était le cas pour les fichiers système et les fichiers de programme IIGS ; l'entrée du répertoire pointe vers un bloc d'information qui indique à l'ordinateur le format de stockage des deux fourches. Ces fichiers ne peuvent pas être lus ou écrits nativement par ProDOS 8, bien que le volume lui-même reste compatible.
Le volume contient une image bitmap des blocs utilisés. À part cela, il n'existe pas de table d'allocation de fichiers centrale .
Un volume ProDOS 8 formaté par les outils d'Apple possède un secteur de démarrage qui prend en charge le démarrage à la fois de ProDOS et de SOS en fonction de l'ordinateur sur lequel il est démarré. Le bloc 0 est le bloc de démarrage de l'Apple II et le bloc 1 démarre SOS. Cela permet d'utiliser un disque pour démarrer sur des ordinateurs Apple II ou Apple III en plaçant les deux noyaux du système d'exploitation dans le répertoire supérieur : le secteur de démarrage de l'Apple II recherche le fichier PRODOS et le secteur de démarrage de l'Apple III recherche le fichier SOS.KERNEL . Les utilitaires de formatage tiers ne fournissent souvent pas le bloc de démarrage SOS, et certains marquent même le bloc 1 comme étant disponible pour les données utilisateur.
ProDOS ne prend pas en charge les autres systèmes de fichiers au niveau du noyau. Si nécessaire, un utilitaire de conversion sur le disque système principal est utilisé pour transférer les fichiers individuellement entre ProDOS et les anciens disques Apple DOS 3.3. Comme ils utilisent un format de disque de bas niveau différent de DOS 3.3 et ProDOS, le transfert de données des disques DOS 3.2 vers ProDOS est un processus en deux étapes utilisant un disque DOS 3.3 comme intermédiaire (en utilisant l'utilitaire DOS 3.3 MUFFIN ou similaire).