AmigaOS es una familia de sistemas operativos nativos propietarios para las computadoras personales Amiga y AmigaOne . Fue desarrollado inicialmente por Commodore International y presentado con el lanzamiento de la primera Amiga, la Amiga 1000 , en 1985. Las primeras versiones de AmigaOS requerían los microprocesadores Motorola 68000 de 16 y 32 bits . Las versiones posteriores, tras la desaparición de Commodore, fueron desarrolladas por Haage & Partner (AmigaOS 3.5 y 3.9) y luego por Hyperion Entertainment (AmigaOS 4.0-4.1). La versión más reciente , AmigaOS 4 , requiere un microprocesador PowerPC . La versión 4.1 añadió compatibilidad con sistemas de archivos de 64 bits , mientras que la compatibilidad con la CPU se mantiene en 32 bits.
AmigaOS es un sistema operativo de un solo usuario basado en un núcleo multitarea preventivo , llamado Exec . [ 2 ] Incluye una abstracción del hardware de Amiga, un sistema operativo de disco llamado AmigaDOS , una API de sistema de ventanas llamada Intuition y un entorno de escritorio [ 3 ] y un administrador de archivos llamado Workbench .
MorphOS y AROS Research Operating System son implementaciones modernas del AmigaOS original que son compatibles con él.
Situación jurídica
La propiedad intelectual de Amiga está fragmentada entre Amiga Inc. , Cloanto (creador de Amiga Forever ) e Hyperion Entertainment (desarrollador de Amiga OS 4.x). Los derechos de autor de las obras creadas hasta 1993 pertenecen a Cloanto. [ 4 ] [ 5 ]
En 2001, Amiga Inc. contrató el desarrollo de AmigaOS 4 a Hyperion Entertainment, y en un acuerdo en 2009 le otorgaron a Hyperion una licencia exclusiva, perpetua y mundial de AmigaOS 3.1 para desarrollar y comercializar AmigaOS 4 y versiones posteriores. [ 6 ] [ 7 ]
Variantes de AmigaOS
Desde el lanzamiento oficial de AmigaOS 4 en 2004, existen dos variantes de Amiga OS que coexisten simultáneamente:
Amiga equipada con varios procesadores PowerPC
La variante de AmigaOS 4 de 2006 y todas las versiones posteriores v4.x desarrolladas por la empresa de software belga Hyperion Entertainment como trabajo oficial bajo licencia de Amiga Incorporated en aquel entonces, son exclusivamente para ordenadores Amiga clásicos equipados con aceleradores de microprocesador, que deben estar basados únicamente en la arquitectura PowerPC .
Las denominadas tarjetas Turbo, que funcionan como aceleradores de CPU (con procesadores de mayor frecuencia del mismo tipo que el procesador original con el que venía el Amiga), o las variantes más avanzadas de la línea m68k de Motorola, no son suficientes para ejecutar AmigaOS 4, ya que este requiere un procesador PowerPC para funcionar. Por lo tanto, AmigaOS 4 es, en la práctica, exclusivamente compatible con PPC.
Amiga equipada con varios procesadores m68k
La antigua línea de sistemas operativos del clásico Amiga OS hasta el último lanzamiento oficial de Amiga OS v3.1 por la propia Commodore International (incluido el relanzamiento de Amiga OS v3.1 en 1996 por el entonces titular legal de los derechos de autor, derechos relacionados y marcas comerciales asociadas de Commodore; la alemana Escom AG y su filial Amiga Technologies GmbH), las obras encargadas bajo licencia a la empresa de software alemana Haage & Partner como AmigaOS 3.5 en 1999 y 3.9 en 2000 respectivamente, así como las actualizaciones más recientes v3.1.4–3.2 de la línea principal original de Hyperion Entertainment, son generalmente exclusivas para todos los antiguos ordenadores Amiga, como el A1000, A500, A600, A1200, A2000, A2500, A3000(T) o el A4000(T) con sus procesadores m68k basados en Motorola.
AmigaOS 3.5/3.9 de Haage & Partner (Amiga Technologies GmbH) requiere que el Amiga venga equipado de fábrica con, como mínimo, el procesador Motorola M68(EC)020. Este es el caso de los Amiga A1200, A3000(/30)/T/UX o A4000(/040,/030)/T. Alternativamente, el modelo podría venir equipado de fábrica con una tarjeta aceleradora Commodore original instalada. Este es el caso de los A2500/20(/30)/UX, o de los A2000 originales modificados, que tienen las respectivas tarjetas aceleradoras de Commodore (A2620 para el M68020, A2630 para el M68030) instaladas en la ranura de la CPU como una actualización del hardware original.
También basado en el código fuente original de AmigaOS v3.1 de Commodore, las actualizaciones de AmigaOS v3.1.4 en 2018 y v3.2 en 2021 también actualizaron Kickstart que se enviaba opcionalmente con ROMs de hardware físico para ser instaladas en el hardware.
La última versión de AmigaOS para los ordenadores Amiga clásicos equipados con el procesador m68k es, por lo tanto, Amiga 3.5/3.9 de Haage & Partner (con un procesador 68020 como mínimo) o las actualizaciones del AmigaOS original con las versiones 3.1.4/3.2 de Hyperion Entertainment (que son válidas para todos los procesadores m68k, incluido el MC68000 original del primer Amiga A1000).
Componentes
AmigaOS es un sistema operativo monousuario basado en un núcleo multitarea con prioridad , llamado Exec . AmigaOS proporciona una abstracción del hardware de Amiga, un sistema operativo de disco llamado AmigaDOS, una API de sistema de ventanas llamada Intuition y un gestor de archivos de escritorio llamado Workbench .
El sistema también integra una interfaz de línea de comandos (CLI), denominada AmigaShell, aunque también se basa completamente en ventanas. Los componentes CLI y Workbench comparten los mismos privilegios. Cabe destacar que AmigaOS carece de protección de memoria integrada .
AmigaOS se compone de dos partes: un componente de firmware llamado Kickstart y una parte de software conocida como Workbench . Hasta AmigaOS 3.1, las versiones de Kickstart y Workbench se publicaban juntas. Sin embargo, desde AmigaOS 3.5, la primera versión tras la desaparición de Commodore, solo se ha actualizado el componente de software, y la necesidad de reemplazar Kickstart por hardware se ha reducido. Las actualizaciones de firmware se pueden aplicar mediante parches con el comando de Amiga SetPatch, que aplica nuevas revisiones a Kickstart durante el arranque del sistema. Esto fue así hasta 2018, cuando Hyperion Entertainment (titular de la licencia de AmigaOS 3.1) lanzó AmigaOS 3.1.4 con una ROM de Kickstart actualizada.
Firmware y gestor de arranque
Kickstart es el firmware de arranque , generalmente almacenado en la ROM . Kickstart contiene el código necesario para arrancar el hardware estándar de Amiga y muchos de los componentes principales de AmigaOS. Su función es comparable a la del BIOS y el núcleo del sistema operativo en los ordenadores compatibles con IBM PC . Sin embargo, Kickstart ofrece más funcionalidades disponibles al arrancar de las que se suelen encontrar en un PC, como por ejemplo, el entorno de ventanas completo.
Kickstart contiene muchos componentes esenciales del sistema operativo de Amiga, como Exec , Intuition , el núcleo de AmigaDOS y la funcionalidad para inicializar el hardware de expansión compatible con Autoconfig . Las versiones posteriores de Kickstart incluían controladores para controladores IDE y SCSI , puertos de tarjetas PC y otro hardware integrado.
Upon start-up or reset the Kickstart performs a number of diagnostic and system checks and then initializes the Amiga chipset and some core OS components. It will then examine connected boot devices and attempt to boot from the one with the highest boot priority. If no boot device is present a screen will be displayed asking the user to insert a boot disk, typically a floppy disk.
At start-up Kickstart attempts to boot from a bootable device (typically, a floppy disk or hard disk drive). In the case of a floppy, the system reads the first two sectors of the disk (the bootblock), and executes any boot instructions stored there. Normally this code passes control back to the OS (invoking AmigaDOS and the GUI) and using the disk as the system boot volume. Any such disk, regardless of the other contents of the disk, was referred to as a "boot disk" or "bootable disk". A bootblock could be added to a blank disk by use of the install command. Some games and demos on floppy disk used custom bootblocks, which allowed them to take over the boot sequence and manage the Amiga's hardware without AmigaOS.
The bootblock became an obvious target for virus writers. Some games or demos that used a custom bootblock would not work if infected with a bootblock virus, as the code of the virus replaced the original. The first such virus was the SCA virus. Anti-virus attempts included custom bootblocks. These amended bootblock advertised the presence of the virus checker while checking the system for tell-tale signs of memory-resident viruses and then passed control back to the system. Unfortunately these could not be used on disks that already relied on a custom bootblock, but did alert users to potential trouble. Several of them also replicated themselves across other disks, becoming little more than viruses in their own right.
Kernel
The Macintosh should have had multitasking. I can't stress enough what a big contribution it makes to the elegant design of system software. The Amiga has an excellent multitasking system, and I think it will have twice the product life of the Macintosh because of it.
—Adam Brooks Webber, the programmer responsible for porting TrueBASIC to the Amiga and Macintosh, Byte, September 1986[8]
Exec es el núcleo multitarea de AmigaOS. Exec proporciona funcionalidad para la multitarea, la asignación de memoria, el manejo de interrupciones y el manejo de bibliotecas compartidas dinámicas . Actúa como planificador para las tareas que se ejecutan en el sistema, proporcionando multitarea preventiva con planificación round-robin priorizada. Exec también proporciona acceso a otras bibliotecas y comunicación entre procesos de alto nivel mediante paso de mensajes . Otros microkernels comparables han tenido problemas de rendimiento debido a la necesidad de copiar mensajes entre espacios de direcciones. Dado que Amiga tiene un solo espacio de direcciones, el paso de mensajes de Exec es bastante eficiente. [ 9 ] [ 10 ]
AmigaDOS
AmigaDOS proporciona la parte del sistema operativo de disco de AmigaOS. Esto incluye sistemas de archivos , manipulación de archivos y directorios, la interfaz de línea de comandos , redirección de archivos, ventanas de consola, etc. Sus interfaces ofrecen funciones como redirección de comandos , tuberías , scripts con primitivas de programación estructurada y un sistema de variables globales y locales .
En AmigaOS 1.x, la parte de AmigaDOS se basaba en TRIPOS , que está escrito en BCPL . Interactuar con él desde otros lenguajes resultó una tarea difícil y propensa a errores, y la adaptación de TRIPOS no fue muy eficiente.
A partir de AmigaOS 2.x, AmigaDOS fue reescrito en C y Assembler , manteniendo la compatibilidad con el programa BCPL 1.x, e incorporó partes del proyecto de recursos de terceros AmigaDOS [ 11 ] (ARP), que ya había escrito reemplazos para muchas de las utilidades e interfaces de BCPL.
ARP también proporcionó uno de los primeros solicitantes de archivos estandarizados para Amiga e introdujo el uso de funciones de comodín ( globbing ) más amigables al estilo UNIX en los parámetros de la línea de comandos. Otras innovaciones fueron una mejora en la gama de formatos de fecha aceptados por los comandos y la posibilidad de hacer que un comando sea residente, de modo que solo necesite cargarse en la memoria una vez y permanezca en ella para reducir el costo de carga en usos posteriores.
En AmigaOS 4.0 , DOS abandonó por completo el legado de BCPL y, a partir de AmigaOS 4.1 , se reescribió con soporte completo para el sistema de archivos de 64 bits .
Las extensiones de archivo se usan con frecuencia en AmigaOS, pero no son obligatorias y DOS no las maneja de forma especial, sino que son simplemente una parte convencional de los nombres de archivo. Los programas ejecutables se reconocen mediante un número mágico .
Interfaz gráfica de usuario
El sistema de ventanas nativo de Amiga se llama Intuition , que gestiona la entrada de datos del teclado y el ratón, así como la representación de pantallas, ventanas y widgets .
Antes de AmigaOS 2.0, no existía una apariencia estandarizada ; los desarrolladores de aplicaciones tenían que escribir sus propios widgets no estándar. Commodore añadió la biblioteca GadTools y BOOPSI en AmigaOS 2.0, las cuales proporcionaban widgets estandarizados. Commodore también publicó la Guía de estilo de la interfaz de usuario de Amiga , que explicaba cómo debían diseñarse las aplicaciones para lograr coherencia. Stefan Stuntz creó una popular biblioteca de widgets de terceros, basada en BOOPSI, llamada Magic User Interface , o MUI. MorphOS utiliza MUI como su kit de herramientas oficial, mientras que AROS utiliza un clon de MUI llamado Zune . AmigaOS 3.5 añadió otro conjunto de widgets, ReAction , también basado en BOOPSI.
Una característica inusual de AmigaOS es el uso de múltiples pantallas mostradas en la misma pantalla. Cada pantalla puede tener una resolución de video o profundidad de color diferente. AmigaOS 2.0 agregó soporte para pantallas públicas , lo que permite que las aplicaciones abran ventanas en las pantallas de otras aplicaciones. Antes de AmigaOS 2.0, solo la pantalla de Workbench era compartida. [ 12 ] Un widget en la esquina superior derecha de cada pantalla permite alternar entre pantallas. Las pantallas se pueden superponer arrastrando cada una hacia arriba o hacia abajo por sus barras de título. AmigaOS 4 introdujo pantallas que se pueden arrastrar en cualquier dirección.
Gestor de archivos
Workbench is the native graphical file manager and desktop environment of AmigaOS. Though the term Workbench was originally used by users to refer to the entire operating system, with the release of AmigaOS 3.1 the operating system was renamed AmigaOS and subsequently Workbench refers to the desktop manager only. As the name suggests, the metaphor of a workbench is used, rather than that of a desktop; directories are depicted as drawers, executable files are tools, data files are projects and GUI widgets are gadgets. In many other aspects the interface resembles Mac OS, with the main desktop showing icons of inserted disks and hard drive partitions, and a single menu bar at the top of every screen. Unlike the Macintosh mouse available at the time, the standard Amiga mouse has two buttons – the right mouse button operates the pull-down menus, with a "release to select" mechanism.
Features
Graphics
Until the release of version 3, AmigaOS only natively supported the native Amiga graphics chipset, via graphics.library, which provides an API for geometric primitives, raster graphic operations and handling of sprites. As this API could be bypassed, some developers chose to avoid OS functionality for rendering and directly program the underlying hardware for gains in efficiency.
Third-party graphics cards were initially supported via proprietary unofficial solutions. A later solution where AmigaOS could directly support any graphics system, was termed retargetable graphics (RTG).[13] With AmigaOS 3.5, some RTG systems were bundled with the OS, allowing the use of common hardware cards other than the native Amiga chipsets. The main RTG systems are CyberGraphX, Picasso 96 and EGS. Some vector graphic libraries, like Cairo and Anti-Grain Geometry, are also available. Modern systems can use cross-platform SDL (simple DirectMedia Layer) engine for games and other multimedia programs.
The Amiga did not have any inbuilt 3D graphics capability, and so had no standard 3D graphics API. Later, graphics card manufacturers and third-party developers provided their own standards, which included MiniGL, Warp3D, StormMesa (agl.library) and CyberGL.
The Amiga was launched at a time when there was little support for 3D graphics libraries to enhance desktop GUIs and computer rendering capabilities. However, the Amiga became one of the first widespread 3D development platforms. VideoScape 3D was one of the earliest 3D rendering and animation systems, and Silver/TurboSilver was one of the first ray-tracing 3D programs. Then Amiga boasted many influential applications in 3D software, such as Imagine, maxon's Cinema 4D, Realsoft 3D, VistaPro, Aladdin 4D and NewTek's Lightwave (used to render movies and television shows like Babylon 5).
Likewise, while the Amiga is well known for its ability to easily genlock with video, it has no built-in video capture interface. The Amiga supported a vast number of third-party interfaces for video capture from American and European manufacturers. There were internal and external hardware solutions, called frame-grabbers, for capturing individual or sequences of video frames, including: Newtronic Videon, Newtek DigiView,[14] Graffiti external 24-bitframebuffer, the Digilab, the Videocruncher, Firecracker 24, Vidi Amiga 12, Vidi Amiga 24-bit and 24RT (Real Time), Newtek Video Toaster, GVP Impact Vision IV24, MacroSystem VLab Motion and VLab PAR, DPS PAR (Personal Animation Recorder), VHI (Video Hardware Interface) by IOSPIRIT GmbH, DVE-10, etc. Some solutions were hardware plug-ins for Amiga graphics cards like the Merlin XCalibur module, or the DV module built for the Amiga clone Draco from the German firm Macrosystem. Modern PCI bus TV expansion cards and their capture interfaces are supported through tv.library by Elbox Computer and tvcard.library by Guido Mersmann.
Following modern trends in evolution of graphical interfaces, AmigaOS 4.1 uses the 3D hardware-accelerated Porter-Duff image composition engine.
Audio
Prior to version 3.5, AmigaOS only officially supported the Amiga's native sound chip, via audio.device. This facilitates playback of sound samples on four DMA-driven 8-bit PCM sound channels (two left and two right audio channels). The only supported hardware sample format is signed linear 8-bit two's complement (each channel with 6-bit volume control, and two channels can be combined into one 14-bit channel as a hack, with the top 8 bits on a max volume channel, and low 6 bits on a channel set to lowest volume; later versions of the OS support such 14-bit audio; the original Amiga has this hardware capability and AHI, version 4, for AmigaOS 2.04, and AHI got integrated into AmigaOS version 3.5 as standard, and it also supports 16-bit 3rd party audio hardware).
Support for third-party audio cards was vendor-dependent, until the creation and adoption of AHI[15] as a de facto standard. AHI offers improved functionality, such as seamless audio playback from a user-selected audio device, standardized functionality for audio recording and efficient software mixing routines for combining multiple sound channels, thus overcoming the four-channel hardware limit of the original Amiga chipset. AHI can be installed separately on AmigaOS v2.0 and later.[16]
AmigaOS itself did not support MIDI until version 3.1, when Roger Dannenberg's camd.library was adapted as the standard MIDI API. Commodore's version of camd.library also included a built-in driver for the serial port. The later open source version of camd.library by Kjetil Matheussen did not provide a built-in driver for the serial port, but provided an external driver instead.
AmigaOS fue uno de los primeros sistemas operativos en incorporar síntesis de voz con software desarrollado por SoftVoice, Inc., que permitía la conversión de texto a voz del inglés americano . [ 17 ] Este software tenía tres componentes principales: narrator.device , que modula los fonemas utilizados en el inglés americano ; translator.library , que traduce texto en inglés a fonemas del inglés americano mediante un conjunto de reglas; y un controlador SPEAK: de alto nivel , que permite a los usuarios de la línea de comandos redirigir la salida de texto a voz. El sistema operativo incluía una utilidad llamada Say , que permitía la síntesis de texto a voz con cierto control de los parámetros de voz y habla. También se incluía una demostración con ejemplos de programación en AmigaBASIC . La síntesis de voz se utilizaba ocasionalmente en programas de terceros, especialmente en software educativo. Por ejemplo, los procesadores de texto Prowrite y Excellence! podían leer documentos mediante el sintetizador. Estos componentes de síntesis de voz permanecieron prácticamente sin cambios en versiones posteriores del sistema operativo, y Commodore finalmente eliminó la compatibilidad con la síntesis de voz a partir de AmigaOS 2.1 debido a restricciones de licencia. [ 18 ]
A pesar de la limitación del inglés americano en los fonemas del dispositivo narrador , Francesco Devitt desarrolló una versión no oficial con síntesis de voz multilingüe. Esta versión utilizaba una versión mejorada de la biblioteca traductora , que podía traducir varios idiomas a fonemas, a partir de un conjunto de reglas para cada idioma. [ 19 ]
Almacenamiento
AmigaOS cuenta con un disco RAM de tamaño dinámico que se redimensiona automáticamente para adaptarse a su contenido. A partir de AmigaOS 2.x, los archivos de configuración del sistema operativo se cargaban en el disco RAM al arrancar, lo que aceleraba considerablemente su uso. Otros archivos podían copiarse al disco RAM, como en cualquier dispositivo estándar, para su rápida modificación y recuperación. También a partir de AmigaOS 2.x, el disco RAM admitía la notificación de cambios en los archivos, que se utilizaba principalmente para monitorizar los archivos de configuración.
A partir de AmigaOS 1.3, [ 20 ] también existe un disco RAM recuperable de capacidad fija, que funciona como un disco RAM estándar pero puede mantener su contenido en un reinicio suave. Se le suele llamar disco RAD por su nombre de dispositivo predeterminado, y puede usarse como disco de arranque (con sector de arranque). Anteriormente, en 1987 se introdujo un disco RAM recuperable, comúnmente llamado ASDG RRD o VD0 ; [ 21 ] al principio, estaba bloqueado a los productos de memoria de expansión ASDG. Posteriormente, el ASDG RRD se añadió a la serie Fred Fish de software gratuito, shareware y de dominio público (discos 58 [ 22 ] y 241 [ 23 ] ).
Programación de scripts
AmigaOS es compatible con el lenguaje Rexx , denominado ARexx (abreviatura de "Amiga Rexx"), un lenguaje de scripting que permite la programación completa del sistema operativo, similar a AppleScript ; la programación entre aplicaciones, similar a VBA en Microsoft Office ; y la comunicación entre programas. Disponer de un único lenguaje de scripting para todas las aplicaciones del sistema operativo resulta ventajoso para los usuarios, ya que evita tener que aprender un lenguaje diferente para cada una.
Los programas pueden escuchar mensajes de cadena en un puerto ARexx. Estos mensajes pueden ser interpretados por el programa de forma similar a como un usuario pulsa botones. Por ejemplo, un script ARexx ejecutado en un programa de correo electrónico podría guardar el correo que se muestra actualmente, invocar un programa externo que extraiga y procese la información, y luego invocar un programa de visualización. Esto permite que las aplicaciones controlen otras aplicaciones enviando y recibiendo datos directamente mediante identificadores de memoria, en lugar de guardar archivos en el disco y luego volver a cargarlos.
Desde AmigaOS 4, el lenguaje Python viene incluido en el sistema operativo.
Descripción general técnica
John C. Dvorak declaró en 1996:
AmigaOS «sigue siendo uno de los mejores sistemas operativos de los últimos 20 años, gracias a su pequeño núcleo y sus tremendas capacidades multitarea , características que solo recientemente se han desarrollado en OS/2 y Windows NT . La mayor diferencia radica en que AmigaOS podía funcionar completamente y realizar múltiples tareas con tan solo 250 KB de espacio de direcciones. Incluso hoy en día, el sistema operativo ocupa solo alrededor de 1 MB. Y, a día de hoy, hay muy pocas cosas que un sistema operativo que consume mucha memoria y carga desde CD-ROM pueda hacer que Amiga no pueda. Su código es compacto: no hay nada igual. Llevo quizás una década con un Amiga. Es el equipo más fiable que he tenido. ¡Es increíble! Es fácil entender por qué tantos fanáticos se preguntan por qué están solos en su amor por él. Amiga sigue inspirando una comunidad vibrante —aunque con tintes de culto—, similar a la que existe con Linux, el clon de Unix». [ 24 ]
Bibliotecas y dispositivos
AmigaOS proporciona un conjunto modular de funciones del sistema a través de bibliotecas compartidas cargadas dinámicamente , ya sea almacenadas como un archivo en disco con una .libraryextensión de nombre de archivo " ", o almacenadas en el firmware Kickstart. Todas las funciones de la biblioteca se acceden a través de una tabla de salto indirecto , que es un desplazamiento negativo al puntero base de la biblioteca. De esa manera, cada función de la biblioteca puede ser parcheada o interceptada en tiempo de ejecución, incluso si la biblioteca está almacenada en ROM. La biblioteca principal de AmigaOS es exec.library ( Exec ), que proporciona una interfaz a las funciones del microkernel de Amiga .
Los controladores de dispositivos también son bibliotecas, pero implementan una interfaz estandarizada. Las aplicaciones no suelen llamar a los dispositivos directamente como bibliotecas, sino que utilizan las funciones de E/S exec.library para acceder a ellos indirectamente. Al igual que las bibliotecas, los dispositivos son archivos en el disco (con la .deviceextensión " ") o se almacenan en la ROM Kickstart.
Controladores, AmigaDOS y sistemas de archivos
The higher-level part of device and resource management is controlled by handlers, which are not libraries, but tasks, and communicate by passing messages. One type of handler is a filesystem handler. The AmigaOS can make use of any filesystem for which a handler has been written, a possibility that has been exploited by programs like CrossDOS and by a few "alternative" file systems to the standard OFS and FFS. These file systems allow one to add new features like journaling or file privileges, which are not found in the standard operating system. Handlers typically expose a device name to the DOS, which can be used to access the peripheral (if any) associated with the handler. As an example of these concepts is the SPEAK: handler which could have text redirected to spoken speech, through the speech synthesis system.
Device names are case insensitive (uppercase by convention) strings followed by a colon. After the colon a specifier can be added, which gives the handler additional information about what is being accessed and how. In the case of filesystem, the specifier usually consists of a path to a file in the filesystem; for other handlers, specifiers usually set characteristics of the desired input/output channel (for the SER: serial port driver, for example, the specifier will contain bit rate, start and stop bits, etc.). Filesystems expose drive names as their device names. For example, DF0: by default refers to the first floppy drive in the system. On many systems DH0: is used to refer to the first hard drive. Filesystems also expose volume names, following the same syntax as device names: these identify the specific medium in the file system-managed drive. If DF0: contains a disk named "Workbench", then Workbench: will be a volume name that can be used to access files in DF0:. If one wanted to access a file named "Bar" located in directory "Foo" of the disk with name "Work" in drive DF0:, one could write "DF0:Foo/Bar" or "Work:Foo/Bar". However, these are not completely equivalent, since when the latter form is used, the system knows that the wanted volume is "Work" and not just any volume in DF0:. Therefore, whenever a requested file on "Work" is being accessed without volume "Work" being present in any drive, it will say something to the effect of: Please insert volume Work in any drive.
Los programas a menudo necesitan acceder a archivos sin conocer su ubicación física (ya sea la unidad o el volumen): solo conocen la "ruta lógica" del archivo, es decir, si el archivo es una biblioteca, un archivo de documentación, una traducción de los mensajes del programa, etc. Esto se resuelve en AmigaOS mediante el uso de asignaciones . Una asignación sigue, de nuevo, la misma sintaxis que un nombre de dispositivo; sin embargo, ya apunta a un directorio dentro del sistema de archivos. El usuario puede cambiar la ubicación a la que apunta una asignación en cualquier momento (este comportamiento es similar, pero distinto, al substcomando en MS-DOS , por ejemplo). Las asignaciones también eran convenientes porque una asignación lógica podía apuntar a más de una ubicación física diferente al mismo tiempo, lo que permitía que el contenido de una asignación se expandiera lógicamente, manteniendo al mismo tiempo una organización física separada. Las asignaciones estándar que generalmente están presentes en un sistema AmigaOS incluyen:
- SYS: , que apunta al directorio raíz de la unidad de arranque.
- C:, que apunta a un directorio que contiene comandos de shell. Al arrancar el sistema, este directorio es SYS:C, si existe; de lo contrario, es SYS:. La ruta de comandos predeterminada es C: y el directorio de trabajo actual, por lo que colocar los ejecutables en C: permite ejecutarlos simplemente escribiendo su nombre.
- DEVS: , que apunta a un directorio que contiene los dispositivos del sistema. En el momento del arranque, este es SYS:Devs si ese directorio existe, de lo contrario SYS:.
- L:, que apunta a un directorio que contiene manejadores y sistemas de archivos de AmigaDOS. Al arrancar, este es SYS:L si existe; de lo contrario, L: no se crea automáticamente.
- LIBS: , que apunta a un directorio que contiene las bibliotecas del sistema. En el momento del arranque, este es SYS:Libs si ese directorio existe, de lo contrario SYS:.
- S:, que apunta a un directorio con scripts, incluido el
startup-sequenceque se ejecuta automáticamente al arrancar, si existe. Al arrancar, este es SYS:S si existe; de lo contrario, S: no se crea automáticamente. - T: , que apunta a una carpeta temporal .
- PROGDIR: es una asignación especial que siempre apunta al directorio que contiene el ejecutable que se está ejecutando. Por ejemplo, si un usuario ejecuta "SYS:Tools/Multiview" y "SYS:System/Format", PROGDIR: apunta a SYS:Tools para Multiview y, simultáneamente, a SYS:System para el comando Format. Esta función se introdujo en Workbench 2.0.
Paginación de memoria y partición de intercambio en versiones posteriores
AmigaOS 4 introdujo un nuevo sistema para asignar RAM y desfragmentarla sobre la marcha durante las inactividades del sistema. Se basa en el método de asignación de bloques y también hay un paginador de memoria que arbitra la memoria paginada y permite el intercambio de grandes porciones de RAM física en dispositivos de almacenamiento masivo como una especie de memoria virtual . [ 25 ] [ 26 ] La paginación cooperativa se implementó finalmente en AmigaOS 4.1 .
Versiones
Desde la introducción de AmigaOS en 1985, ha habido cuatro versiones principales y varias revisiones menores. Hasta la versión 3.1 del sistema operativo de Amiga, los usuarios utilizaban Workbench para referirse a todo el sistema operativo. Por consiguiente, Workbench se usaba comúnmente para referirse tanto al sistema operativo como al gestor de archivos. Para los usuarios finales, Workbench solía ser sinónimo de AmigaOS. A partir de la versión 3.1, el sistema operativo pasó a llamarse "AmigaOS" y las versiones anteriores a la 3.1 también se denominaron retroactivamente "AmigaOS" (en lugar de Workbench). Posteriormente, "Workbench" se refiere únicamente al gestor de archivos gráfico nativo.
Desde sus inicios, Workbench ofreció una interfaz altamente personalizable. El usuario podía cambiar el aspecto de los iconos del programa, reemplazándolos por otros nuevos con diferentes combinaciones de colores. Además, podía crear una "instantánea" de los iconos y las ventanas para que estos permanecieran en el escritorio en las coordenadas elegidas por el usuario y las ventanas se abrieran con el tamaño deseado.
AmigaOS 1.0 – 1.4

AmigaOS 1.0 se lanzó junto con el primer Amiga, el Amiga 1000 , en 1985. Las versiones 1.x de AmigaOS utilizaban por defecto una combinación de colores azul y naranja, diseñada para ofrecer un alto contraste incluso en las peores pantallas de televisión (el usuario podía cambiar los colores). La versión 1.1 consistía principalmente en correcciones de errores y, al igual que la versión 1.0, se distribuyó únicamente para el Amiga 1000.
La pantalla era altamente personalizable para la época. El usuario podía crear y modificar iconos del sistema y del usuario, que podían tener cualquier tamaño y diseño, y presentar dos estados de imagen para producir un efecto de animación al seleccionarlos. Los usuarios podían personalizar cuatro colores de pantalla y elegir entre dos resoluciones: 640 × 200 (o 640 × 400 , entrelazado ) en sistemas NTSC , o 640 × 256 (o 640 × 512 , entrelazado) en sistemas PAL , respectivamente. En revisiones posteriores, se podía ajustar el sobreescaneo del televisor o monitor.
Varias funciones quedaron obsoletas en versiones posteriores. Por ejemplo, el indicador que mostraba el espacio libre en un sistema de archivos fue reemplazado por una visualización en porcentaje a partir de AmigaOS 2.0, antes de ser restaurado en la versión 3.5. El puntero predeterminado de "ocupado" (un bocadillo de cómic que mostraba "Zzz...") fue reemplazado por un cronómetro en versiones posteriores.
AmigaOS 2.0, 2.1
AmigaOS 2.0 se lanzó junto con el Amiga 3000 en 1990. Hasta entonces, no existía un estándar de diseño unificado y los desarrolladores de aplicaciones tenían que crear sus propios widgets (tanto botones como menús) si querían ampliar la ya escasa selección de widgets básicos estándar que ofrecía Intuition. Con AmigaOS 2.0 se creó gadtools.library , que proporcionaba conjuntos de widgets estándar. Se publicó la Guía de estilo de la interfaz de usuario de Amiga , que explicaba cómo debían organizarse las aplicaciones para lograr coherencia. Intuition se mejoró con BOOPSI (Sistema básico de programación orientada a objetos para Intuition), que mejoró el sistema con una interfaz orientada a objetos para definir un sistema de clases en el que cada clase individualiza un único widget o describe un evento de interfaz. Puede utilizarse para programar interfaces orientadas a objetos en Amiga en cualquier nivel.
AmigaOS 2.0 también añadió compatibilidad con pantallas públicas . En lugar de que la pantalla de AmigaOS fuera la única pantalla compartible, las aplicaciones podían crear sus propias pantallas con nombre para compartirlas con otras aplicaciones.
AmigaOS 2.0 solucionó el problema de las aplicaciones que se conectaban directamente al flujo de eventos de entrada para capturar los movimientos del teclado y el ratón, lo que a veces bloqueaba todo el sistema. AmigaOS 2.0 proporcionó Commodities , una interfaz estándar para modificar o analizar eventos de entrada. Esto incluía un método estándar para especificar secuencias de teclas de acceso rápido globales y un registro de Commodities Exchange para que el usuario pudiera ver qué aplicaciones estaban en ejecución.
AmigaOS 2.1 introdujo AmigaGuide , un sencillo sistema de marcado de hipertexto y navegador que proporciona ayuda en línea dentro de las aplicaciones. También introdujo Installer , un programa estándar de instalación de software, basado en un lenguaje de scripting similar a LISP .
AmigaOS 2.1 introdujo soporte para configuración regional multilingüe a través de locale.library y, por primera vez, AmigaOS se tradujo a diferentes idiomas. [ 18 ]
AmigaOS 3.0, 3.1
La versión 3.0 se incluyó originalmente con los ordenadores Amiga 1200 y Amiga 4000. Esta versión añadió compatibilidad con tipos de datos, lo que permitía a cualquier aplicación compatible cargar cualquier formato de archivo admitido. Workbench podía cargar cualquier imagen de fondo en cualquier formato si el tipo de datos requerido estaba instalado. Se incluyó una pequeña aplicación llamada Multiview que podía abrir y mostrar cualquier archivo compatible. Sus capacidades estaban directamente relacionadas con los tipos de datos instalados en Devs:Datatypes. El sistema de hipertexto AmigaGuide, ya consolidado, mejoró su usabilidad mediante enlaces a archivos multimedia, como imágenes o sonidos, todos ellos reconocidos por los tipos de datos.
El 29 de diciembre de 2015, el código fuente de AmigaOS 3.1 se filtró en línea; esto fue confirmado por el licenciatario, Hyperion Entertainment . [ 27 ] [ 28 ]
AmigaOS 3.5, 3.9
Aproximadamente seis años después del lanzamiento de AmigaOS 3.1, tras la desaparición de Commodore, Haage & Partner obtuvo una licencia para actualizar AmigaOS, que se lanzó en 1999 como una actualización de software únicamente para sistemas existentes que se ejecutaban al menos en un procesador 68(EC)020.
La apariencia de AmigaOS , aunque seguía basándose en gran medida en la versión 3.1, se revisó ligeramente, con una interfaz de usuario mejorada basada en ReAction, una representación de iconos optimizada y compatibilidad oficial con fondos de color reales . Estas versiones incluían compatibilidad con mejoras de interfaz gráfica de usuario de terceros, como NewIcons , mediante la integración de estos parches en el sistema. Las versiones 3.5 y 3.9 incluían un nuevo conjunto de 256 iconos de color y la posibilidad de elegir un fondo de escritorio. Estos sustituyeron al esquema de color gris metalizado 4/8 predeterminado utilizado en AmigaOS desde la versión 2.0 hasta la 3.1.
La versión 3.9 de AmigaOS fue desarrollada nuevamente por Haage&Partner y lanzada en el año 2000. Las principales mejoras fueron la introducción de una barra de inicio de programas llamada AmiDock, interfaces de usuario revisadas para la configuración del sistema y programas de utilidad mejorados.
AmigaOS 3.1.4, 3.2
En septiembre de 2018, Hyperion Entertainment lanzó AmigaOS v3.1.4 ; [ 29 ] [ 30 ] [ 31 ] esta es una actualización tanto de software como de hardware para todos los Amigas clásicos y, de hecho, actualizó los Kickstart de Amiga . Opcionalmente, se envía con determinadas versiones de hardware físico-ROM para que el usuario mismo instale y, eventualmente, equipe las máquinas originales más antiguas respectivas.
Like the previous updates AmigaOS 3.5 and 3.9, it is also largely based on and extends upon the source-code of Commodore's original AmigaOS v3.1. Yet, according to Hyperion Entertainment, AmigaOS v3.1.4, which was "originally intended as a bug-fix release, it also modernizes many system components previously upgraded in OS 3.9".[32] It includes many fixes, modernizes several system components previously already upgraded in OS 3.9, introduces support of larger hard drives (including at bootup), supports the entire line of Motorola 680x0 CPUs up to (and including) the Motorola 68060, and includes a modernized Workbench with a new, optional icon set. Unlike AmigaOS 3.5/3.9, AmigaOS 3.1.4 still supports the Motorola 68000 CPU.
Thus alongside of fixing various former bugs, for the update Hyperion incorporated and thus back-ported many of the features Haage & Partners' Amiga 3.5 and 3.9 already brought to the OS (e.g. → support of large hard-drives, support for long file-names, more advanced CLI/Shell, updated and multi-threaded CrossDOS- and CDFS-integration or PCL and PostScript-support for printers). Amiga OS v3.1.4 additionally also came with newer releases of the Amiga Kickstart-ROMs (either as a digital download in Kickstart-images, or shipped with physical Kickstart-ROMs).
In 2019, AmigaOS 3.1.4.1 was released as a software only update to Amiga 3.1.4 free-of-charge, mainly as a bug fix.[33] In 2020 Hyperion Entertainment released the complete change-notes for v3.1.4, including the changes already made prior on its minor bug-fixing update 3.1.4.1 as a free download, and released its "Locale Extras 45.315", which "includes localization materials for greek, polish and russian languages that require additional system setup to work."[34]
In May 2021, Hyperion Entertainment released AmigaOS 3.2, which includes all features of the previous version (3.1.4.1) and adds several new improvements such as support for ReAction GUI, native management of Amiga Disk File images, a integrated help-system and improved datatypes.[35] In December 2021, an update was released named AmigaOS 3.2.1, with bug fixes and other improvements. A second update, named AmigaOS 3.2.2, was released in March 2023 with more improvements and bug fixes.[36]
AmigaOS 4.0, 4.1
Este nuevo AmigaOS, llamado AmigaOS 4.0, ha sido reescrito para ser totalmente compatible con PowerPC . Inicialmente se desarrolló en Cyberstorm PPC, ya que lograr que fuera independiente de los antiguos chipsets de Amiga no era tarea fácil. [ 37 ] Desde la cuarta actualización previa al lanzamiento para desarrolladores, se adoptó una nueva técnica y las pantallas se pueden arrastrar en cualquier dirección. [ 38 ] También es posible arrastrar y soltar iconos de Workbench entre diferentes pantallas.
AmigaOS 4.0 también incluía una nueva versión de Amidock, fuentes TrueType / OpenType y un reproductor de vídeo compatible con DivX y MPEG-4 .
En AmigaOS 4.1, se añadió una nueva función de preferencias de inicio que reemplazó al antiguo cajón WBStartup. Otras mejoras incluyeron un nuevo conjunto de iconos para complementar resoluciones de pantalla más altas, nuevos temas de ventana con sombras, una nueva versión de AmiDock con transparencia real, iconos escalables y AmigaOS con función de actualización automática. [ 39 ]
En octubre de 2022, el desarrollador de AmigaOS, Hyperion Entertainment, lanzó un SDK para AmigaOS 4.1. [ 40 ]
Influencia en otros sistemas operativos

AROS Research Operating System (AROS) implementa la API de AmigaOS en un sistema operativo portátil de código abierto. Si bien no es compatible a nivel binario con AmigaOS (a menos que se ejecute en 68k), los usuarios han informado que es altamente compatible a nivel de código fuente.
MorphOS es un sistema operativo nativo de PowerPC que también se ejecuta en algunos componentes de hardware de Amiga. Implementa la API de AmigaOS y proporciona compatibilidad binaria con aplicaciones de AmigaOS "compatibles con el sistema operativo" (es decir, aquellas aplicaciones que no acceden directamente a ningún hardware nativo o heredado de Amiga, al igual que AmigaOS 4.x, a menos que se ejecuten en modelos de Amiga reales).
pOS era un sistema operativo multiplataforma de código cerrado con compatibilidad a nivel de código fuente con el software Amiga existente. [ 41 ]
BeOS también presenta una estructura de tipos de datos centralizada similar a la de MacOS Easy Open, luego de que los desarrolladores de Amiga solicitaran a Be que adoptara el servicio de tipos de datos de Amiga. Esto permite que todo el sistema operativo reconozca todo tipo de archivos (texto, música, videos, documentos, etc.) con descriptores de archivo estándar . El sistema de tipos de datos proporciona a todo el sistema y a cualquier herramienta de productividad cargadores y guardadores estándar para estos archivos, sin necesidad de integrar múltiples capacidades de carga de archivos en un solo programa. [ 42 ]
AtheOS se inspiró en AmigaOS y originalmente pretendía ser un clon de AmigaOS. [ 43 ] Syllable es una bifurcación de AtheOS e incluye algunas características similares a las de AmigaOS y BeOS .
FriendUP es un metasistema operativo basado en la nube. Muchos antiguos desarrolladores y empleados de Commodore y Amiga trabajan en el proyecto. El sistema operativo conserva varias características similares a las de AmigaOS, incluyendo controladores DOS, listas de montaje, una interfaz de línea de comandos basada en TRIPOS y la función de arrastrar y soltar en la pantalla. [ 44 ]
Finalmente, el sistema operativo del 3DO Interactive Multiplayer guardaba un gran parecido con AmigaOS y fue desarrollado por RJ Mical , [ 45 ] el creador de la interfaz de usuario Intuition de Amiga . [ 46 ]
Véase también
Referencias
- ↑ "Mi conocimiento total de BCPL: es en lo que se escribió AmigaDOS antes de que lo portaran... | Hacker News" .
Para AmigaOS 2.0 [...] Ya no quedaba BCPL ni TRIPOS, excepto estructuras/funciones deliberadas (¡escritas en C!) para admitir la retrocompatibilidad con software BCPL.
- ↑ "Carl Sassenrath" . Archivado del original el 24 de mayo de 2017. Consultado el 23 de mayo de 2022 .
- ↑ "The Amiga Workbench" . Archivado del original el 14 de mayo de 2017. Consultado el 23 de mayo de 2022 .
- ↑ «Cloanto» . Documentos Amiga . Consultado el 20 de febrero de 2015 .
- ↑ "Cloanto confirma la transferencia de los derechos de autor de Commodore/Amiga" . amiga-news.de . 19 de febrero de 2015. Consultado el 20 de febrero de 2015 .
- ↑ "Hyperion y Amiga, Inc. llegan a un acuerdo y se resuelven todos los problemas legales" . OSNews. 17 de octubre de 2009. Archivado del original el 19 de octubre de 2009. Consultado el 18 de octubre de 2009 .
- ↑ "Hyperion Entertainment confirma los derechos exclusivos de AmigaOS" . Hyperion Entertainment. 31 de diciembre de 2017. Archivado del original el 3 de enero de 2018. Consultado el 25 de enero de 2025 .
- ↑ Webber, Adam Brooks (septiembre de 1986). "Amiga vs. Macintosh" . BYTE . pág. 249.
- ↑ Carl Sassenrath (1986). Manual de referencia del núcleo ROM de Amiga . Vol. Exec.
- ↑ Holloway, Tim (enero de 1991). "El Amiga Exec orientado a objetos: El diseño del núcleo del sistema operativo Amiga sigue las reglas de la programación orientada a objetos". Byte (enero de 1991). McGraw-Hill : 329–332 , 234. ISSN 0360-5280 .
- ^ "Aminet - misc/antiq/ARP_13.lha" . Aminet.net . Consultado el 2 de mayo de 2015 .
- ↑ "Pantallas de intuición – Wiki de documentación de AmigaOS" . wiki.amigaos.net . Consultado el 23 de abril de 2016 .
- ↑ Gráficos redireccionables de Amiga . Amigau.com (25 de noviembre de 2009). Consultado el 17 de julio de 2013.
- ↑ "NewTek" . Archivado del original el 23 de febrero de 2008. Consultado el 7 de marzo de 2008 .
- ↑ "AHI — Audio redirigido para AmigaOS y otros" . Archivado del original el 14 de marzo de 2006. Consultado el 27 de marzo de 2006 .
- ↑ "AHI — Audio redirigido para AmigaOS y otros" . Archivado del original el 18 de julio de 2011. Recuperado el 19 de noviembre de 2010 .
- ↑ Síntesis de texto a voz de SoftVoice. "SoftVoice, Inc. - Síntesis de texto a voz" . Consultado el 2 de mayo de 2015 .
- 1 2 "Amiga Workbench 2.1" . Archivado del original el 12 de diciembre de 2008. Recuperado el 23 de noviembre de 2008 .
- ↑ Devitt, Francesco (30 de junio de 1995). "Translator Library (versión multilingüe con voz)" . Recuperado el 9 de abril de 2013 .
- ↑ "Nostalgia de Workbench: La historia de la interfaz gráfica de usuario (GUI) de AmigaOS: Versión 1.3" .
- ↑ "back2roots.org" . ftp.back2roots.org . Archivado del original el 3 de diciembre de 2013. Recuperado el 22 de abril de 2016 .
- ↑ "Archivo README del disco Fish 0058" . de4.aminet.net . Consultado el 23 de septiembre de 2022 .
- ↑ "Fish disk 0241" . de4.aminet.net . Consultado el 23 de septiembre de 2022 .
- ↑ De PC Magazine, 22 de octubre de 1996, Inside Track, por John C. Dvorak
- ↑"AmigaOS4.0 Memory Allocation". the official website of AmigaOS4.0, Hyperion Entertainment VOF. pp. 1, 2, 3 via the Internet Archive's Wayback Machine
- ↑"AmigaOS 4.0 new memory system revisited". the official website of AmigaOS4.0. Hyperion Entertainment VOF. Archived from the original on May 2, 2007. Retrieved November 2, 2008.
- ↑Larabel, Michael (January 5, 2016). "Hyperion Confirms Leak Of AmigaOS 3.1 Source Code". Phoronix.
- ↑"Amiga OS Kickstart and Workbench source coded leaked | Vintage is the New Old". Commodore.ninja. Retrieved April 22, 2016.
- ↑"Hyperion Entertainment: AmigaOS 3.1.4 released" (Press release). Brussels: Hyperion Entertainment. amiga-news.de. September 30, 2018. Retrieved January 25, 2025.
- ↑"Hyperion Entertainment: AmigaOS 3.1.4 released" (Press release). Brussels: Hyperion Entertainment. SlashDot.org. October 2, 2018. Retrieved January 25, 2025.
- ↑"AmigaOS 3.1.4 for classic Amigas released" (Press release). Brussels: Hyperion Entertainment. osnews.com. October 2, 2018. Retrieved January 25, 2025.
- ↑"AmigaOS 3.1.4 for 68K Amigas released". Brussels: Hyperion Entertainment. September 30, 2018. Retrieved January 25, 2025.
- ↑"Update to AmigaOS 3.1.4 released". Brussels: Hyperion Entertainment. July 8, 2019. Retrieved January 25, 2025.
- ↑"Hyperion: "Release Notes" and further translations for AmigaOS 3.1.4.1" (Press release). Brussels: Hyperion Entertainment. amiga-news.de. May 19, 2020. Retrieved January 25, 2025.
- ↑"Hyperion releases AmigaOS 3.2" (Press release). Brussels: Hyperion Entertainment. amiga-news.de. May 14, 2021. Retrieved May 17, 2021.
- ↑"New Update 2 of AmigaOS 3.2 available for download NOW". www.hyperion-entertainment.com. Retrieved March 5, 2023.
- ↑David Doyle. "Amigaworld.net – The Amiga Computer Community Portal Website". amigaworld.net.
- ↑Unknown. "IntuitionBase – Your Guide To AmigaOS4.x And The AmigaOne". Archived from the original on October 4, 2011. Retrieved May 2, 2015.
- ↑Hans-Jörg Frieden. "Update 1 of AmigaOS 4.1 available for immediate download". Retrieved May 2, 2015.
- ↑Purdy, Kevin (October 17, 2022). "37-year-old Amiga platform gets updates to Linux kernel, AmigaOS SDK". Ars Technica. Retrieved November 4, 2022.
- ↑"Amiga History Guide". Amigahistory.co.uk. Retrieved April 22, 2016.
- ↑"Jon Watte, Metrowerks BeMeister". MacTech. Retrieved September 8, 2011.
- ↑"AtheOS comments". ANN.lu. May 5, 2000. Retrieved December 1, 2008.
- ↑"Home". friendup.cloud.
- ↑Mical resume. "Mical Page". Mical.org. Retrieved April 22, 2016.
- ↑"A history of the Amiga, part 3: The first prototype". Ars Technica. August 22, 2007. Retrieved May 2, 2015.
External links
- AmigaOS
- 1985 software
- Commodore software
- Microkernel-based operating systems
- Microkernels
- Software programmed in assembly language