AmigaOS est le système d'exploitation natif des ordinateurs Amiga, lancé en 1984 et encore développé aujourd'hui. Il a été initialement développé pour les processeurs 680x0, puis progressivement réécrit pour les processeurs PowerPC. Dans un premier temps le système fonctionnait sur des machines bi-processeur (un 680x0 et un PowerPC). Depuis 2006 il fonctionne sur des machines équipées uniquement de processeur PowerPC telles que les AmigaOne/microAone et les Sam440/Sam460 . toutefois, en 2018, la version 3.1 fonctionnant sur les processeurs Motorola est de nouveau mise à jour de façon commerciale par qui en détient la licence..

Depuis la version 4.0, il est équipé d'un émulateur qui permet de faire fonctionner les anciens programmes écrits pour les processeurs 680x0 (machines désormais appelées "Amiga classic") sur des machines PowerPC.

AmigaOS a en partie inspiré le système d'exploitation expérimental AtheOS (maintenant Syllable) ainsi que BeOS parfois surnommé AmigaOS 95. Le système Windows emprunte aussi certaines idées d'AmigaOS.

Histoire

Le développement d'AmigaOS a commencé en 1982. La startup Amiga Inc prépare le prototype Lorraine, présenté au Consumer Electronic Show de 1983. Cette startup est rachetée par Commodore l'année suivante et le fruit de ce prototype est commercialisé dès 1984 - l'Amiga 1000.

Dès ses débuts, une des qualités les plus mise en avant des Amiga, outre leur matériel hors du commun, était leur aisance à exécuter plusieurs applications simultanément. Or cette capacité est apportée par son système d'exploitation Jimmy Maher,The Future Was Here: The Commodore Amiga,MIT Press - 2012,..

Dans les années 80 les systèmes d'exploitation pour micro ordinateur étaient un triangle de un: un seul utilisateur exécute un seul programme sur un seul ordinateur. AmigaOS, dès le début, apporte une interface graphique, et le multitâche préemptif qui permet d'exécuter simultanément autant de programmes que la mémoire et le processeur permettent.

Dans les années 1980, les ordinateurs personnels n'avaient souvent comme unique périphérique de stockage un lecteur de disquette ou de cassette. Le Commodore 64, par exemple, n'avait de base aucun périphérique de stockage. Si le système d'exploitation avait été placé sur une disquette, il aurait pris une place non négligeable et le démarrage de l'ordinateur aurait pris du temps. C'est pour ces raisons que les composants principaux d'AmigaOS sont enregistrés dans une puce de mémoire morte dans l'ordinateur.

Alors que Jay Miner est cité à l'unanimité comme étant le père du hardware de l'Amiga, il n'existe pas de père unanimement reconnu du software. Les noms souvent cités sont Bob Pariseau - le team lead, et Carl Sassenrath - le développeur.

Le système d'exploitation de l'Amiga a été tout d'abord développé sur un ordinateur SAGE IV. Cet ordinateur est équipé d'un processeur Motorola 68000, et d'un système d'exploitation Unix - qui a également servi de source d'inspiration pour Amiga OS. Le logiciel compilé sur le SAGE IV est ensuite copié sur le Lorraine via un câble.

En 2004, après sa sortie, des utilisateurs continuent de se servir des Amiga en raison de son élégant système d'exploitation. La version 4.0, lancée en 2004 par Hyperion Entertainment ne supporte plus le chipset initial de l'Amiga, et est prévu pour fonctionner sur des processeurs PowerPC. AROS et MorphOS sont deux systèmes d'exploitation clone d'AmigaOS, fonctionnant sur du matériel récent.

Composition AmigaOS est un des premiers systèmes d'exploitation en construction microkernel. Il contient une pile de bibliothèques logicielles avec lesquelles les programmes peuvent demander des services au système d'exploitation. Sa construction lui donne les caractéristiques d'un système d'exploitation temps réel et permet aux logiciels applicatifs de mettre en œuvre des fonctionnalités qui incombent au système d'exploitation tels que la connexion aux réseaux ou la mémoire virtuelle.

Entre 1984 et 2011 l'AmigaOS a subi trois re-écritures majeures, mais sa composition générale n'a pas changé: Exec est le kernel d'AmigaOS, qui apporte les services élémentaires de manipulation des processus et de la mémoire ; graphics.library offre des fonctions qui permettent d'afficher des images et des animations ; au-dessus se trouve intuition.library, qui permet de construire des interfaces graphiques et se sert de graphics.library ; AmigaDOS est le composant d'AmigaOS qui s'occupe des disques et des entrées/sorties ; est le système de fichiers natif. AmigaOS peut aussi lire et écrire des mémoires de masse au format FAT, Ext2 ou HFS ainsi que des CD-ROM ; au-dessus de ces bibliothèques se trouve Workbench, le logiciel qui permet à l'utilisateur de lancer des programmes ou modifier la configuration. Workbench fait une métaphore d'un établi (workbench signifie établi) ; en plus de Workbench, les utilisateurs peuvent également se servir de l'interface en ligne de commande d'AmigaOS: le CLI.

AmigaDOS Au lieu d'AmigaDOS, le système d'exploitation devait contenir un composant nommé CAOS, mais à la suite de disputes durant son développement, le projet a été abandonné. Commodore, sous la pression des délais, s'est tourné vers TripOS, un système d'exploitation développé par MetaComCo, pour le processeur Motorola 68000 : beaucoup de pièces de TripOS ont été réutilisées et adaptées pour obtenir AmigaDOS.

Workbench Dans les médias, Workbench a souvent été comparé à celui d'Apple, il est cependant inspiré principalement par Sun, et se distingue par le fait qu'il s'utilise avec une souris à deux boutons.

ROM Kickstart Pour des raisons de commodité, les composants principaux d'AmigaOS sont enregistrés dans une puce de mémoire morte dans l'ordinateur . Cette puce contient Exec, graphics.library, intuition.library, le cœur de AmigaDOS et du Workbench.

Disquette de démarrage - Workbench disk Le système d'exploitation est amorcé à l'aide d'une disquette ou d'un disque dur. La disquette amorce standard Workbench disk lance automatiquement l'environnement graphique : le Workbench. Cette disquette contient des bibliothèques accessoires, telles que translation.library, ainsi que des utilitaires, parmi eux l'interpréteur de commande CLI et le langage de script ARexx, une adaptation du langage REXX de IBM.

Une disquette de démarrage peut ne pas se servir du tout d'AmigaOS et utiliser directement le matériel . Il peut également lancer un autre système d'exploitation, comme Linux.

Jusqu'à la version 3.5, AmigaOS ne contient aucun programme pour la connexion aux réseaux informatiques et celle-ci se fait à l'aide de logiciels tiers du commerce.

Sur ordinateurs Amiga Classic, chaque version de Kickstart est liée à une version particulière du système d'exploitation de l'Amiga, ainsi les utilisateurs devraient uniquement utiliser le Workbench 1.3 sur une machine avec une ROM du Kickstart 1.3. Il est possible d'utiliser des versions différentes (Le Workbench 3.1 fonctionnera avec le Kickstart 3.0, mais avec quelques problèmes). La seule exception est le Workbench 2.1, qui était une mise à jour logicielle basée sur le Kickstart 2.04. Aussi, les dernières versions du Workbench, 3.5 et 3.9, utilisent le Kickstart 3.1, la mise à jour de la ROM se faisant logiciellement au moment où le système démarre.

Sur ordinateurs Amiga dits « nouvelle génération » (AmigaOne, Sam440, Sam460), le kickstart et le workbench ont la même version.

Exec - le Kernel Exec est le kernel d'AmigaOS, qui apporte les services élémentaires de manipulation des processus et de la mémoire. D'autres services du système d'exploitation sont apportés par des processus et des bibliothèques.

Processus Dans AmigaOS chaque programme en cours d'exécution est une tâche. Les tâches sont exécutées à tour de rôle en fonction de priorités . Une tâche peut être un logiciel applicatif ou un programme système : dans AmigaOS pour chaque disque dur il y a une tâche qui s'occupe des lectures et écritures. Les différentes tâches s'échangent des messages, et, en condition ordinaire, la grande majorité des tâches sont en attente de message ou d'événement. Les priorités sont comprises entre -127 et 127. La priorité usuelle des applications est de zéro ; les programmes système ont une priorité de 5, 10 ou 15, et une application gourmande en calcul, comme un moteur de rendu 3D, aura une priorité négative.

Mémoire Dans la mémoire des Amiga, une seule adresse contient toujours la même information. La mémoire est réservée par Exec en fonction des besoins du système d'exploitation et des applications. Lorsqu'un programme démarre, Exec réserve la mémoire pour le contenir, puis libère cette mémoire lorsque le programme a terminé. Le programme peut également réserver de la mémoire pour ses besoins, en le demandant à Exec. Il est responsable de libérer la mémoire avant de s'arrêter.

Kickstart vignette|Les ROM d'un Amiga 1200 Version 39.106.

Kickstart est le nom donné à la ROM qui contient les composants essentiels d'AmigaOS. Sur l'Amiga 1000, celle-ci devait être chargée à partir d'une disquette, alors que plus tard, les Kickstarts furent en ROM dans l'ordinateur.

Le Kickstart contient les parties principales du système d'exploitation, telles qu'Intuition (les bibliothèques graphiques de l'interface utilisateur Amiga), Exec (le noyau multitâches), AmigaDOS (les bibliothèques de manipulation de disque).

Les versions ultérieures du Kickstart contenaient les pilotes des contrôleurs IDE et SCSI, des ports PCMCIA et divers autres matériels qui étaient inclus dans les Amigas.

Grâce à des constructeurs de périphériques, il est possible d'avoir deux versions ou plus de Kickstart dans une machine, sélectionnables par un interrupteur ou un raccourci clavier quand vous mettez la machine en marche.

Avec un logiciel tiers, il est possible d'avoir un kickstart différent chargé dans la RAM, et de l'utiliser au lieu de la ROM, par exemple Kickstart 1.3 peut être chargé afin d'exécuter de vieux jeux incompatibles avec les Kickstart 2.0 et plus. Ces programmes s'appellent des Softkickers.

Workbench Le Workbench est l'environnement de bureau d'origine pour l'Amiga. Le nom utilise la métaphore de l'établi (workbench en anglais). Les répertoires sont dépeints comme des tiroirs, les fichiers exécutables sont dépeints comme des outils et les fichiers de données sont dépeints comme des projets. La plupart des applications Amiga ont des menus déroulants commençant par « Projet éditer... » au lieu du « Fichier éditer... » typique des autres plateformes.

Une caractéristique unique du Workbench est les écrans multiples. Ils sont quelque peu semblables aux bureaux virtuels du système de fenêtre X Window, mais sont produits dynamiquement par les applications selon les besoins. Chaque écran peut avoir une résolution et une profondeur de couleurs différentes. Une icône dans le coin en haut à droite de l'écran permet de cycler les écrans - Comme l'OS stocke tous les écrans simultanément dans la mémoire, le rafraîchissement est instantané. Ces écrans peuvent également être déplacés de haut en bas par leurs barres de titre. (la fonctionnalité de déplacer les écrans est propre au chipset de l'Amiga, et elle n'est plus disponible sur les systèmes qui fonctionnent avec une carte graphique récente.)

Certaines applications comme Deluxe Paint proposaient de fermer le Workbench pour récupérer un peu de mémoire pour travailler - dans les années 90 la RAM était une denrée peu abordable, disposer d'une mémoire de quelques MégaOctets était un luxe - toutefois si l'application démarrée ne permet pas de revenir vers un shell ou d'ouvrir le Workbench à sa sortie la machine devra alors être redémarrée pour pouvoir faire autre chose. Cependant le fait de ne pas lancer le Workbench ne nuit en rien aux fonctionnalités de l'OS (i.e. il est possible de tout faire depuis le Shell obtenu lorsque l'on boot sans ouvrir le Workbench).