stringtranslate.com

AmigaOS

AmigaOS es una familia de sistemas operativos nativos propietarios de las computadoras personales Amiga y AmigaOne . Fue desarrollado primero por Commodore International y presentado con el lanzamiento del primer Amiga, el Amiga 1000 , en 1985. Las primeras versiones de AmigaOS requerían la serie Motorola 68000 de microprocesadores de 16 y 32 bits . Las versiones posteriores fueron desarrolladas por Haage & Partner (AmigaOS 3.5 y 3.9) y luego por Hyperion Entertainment (AmigaOS 4.0-4.1). Se requiere un microprocesador PowerPC para la versión más reciente, AmigaOS 4 .

AmigaOS es un sistema operativo monousuario basado en un kernel multitarea preventivo , llamado Exec . [1]

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 [2] y un administrador de archivos llamado Workbench .

La propiedad intelectual de Amiga está fragmentada entre Amiga Inc. , Cloanto e Hyperion Entertainment . Los derechos de autor de las obras creadas hasta 1993 son propiedad de Cloanto. [3] [4] En 2001, Amiga Inc. contrató el desarrollo de AmigaOS 4 a Hyperion Entertainment, y en 2009 le otorgaron a Hyperion una licencia exclusiva, perpetua y mundial para AmigaOS 3.1 con el fin de desarrollar y comercializar AmigaOS 4 y versiones posteriores. [5]

El 29 de diciembre de 2015, el código fuente de AmigaOS 3.1 se filtró a la web; Así lo confirmó el licenciatario, Hyperion Entertainment . [6] [7]

Componentes

AmigaOS es un sistema operativo monousuario basado en un kernel multitarea preventivo , 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 administrador de archivos de escritorio llamado Workbench .

Una interfaz de línea de comandos (CLI), llamada AmigaShell, también está integrada en el sistema, aunque también está completamente basada en ventanas. Los componentes CLI y Workbench comparten los mismos privilegios. En particular, AmigaOS carece de protección de memoria incorporada .

AmigaOS está formado por dos partes, a saber, un componente de firmware llamado Kickstart y una parte de software generalmente denominada Workbench . Hasta AmigaOS 3.1, las versiones coincidentes de Kickstart y Workbench normalmente se lanzaban juntas. Sin embargo, desde AmigaOS 3.5, la primera versión después de la desaparición de Commodore, sólo se ha actualizado el componente de software y la función de Kickstart se ha reducido un poco. Es posible que aún se apliquen actualizaciones de firmware aplicando parches al iniciar el sistema. Eso fue hasta 2018, cuando Hyperion Entertainment (titular de la licencia de AmigaOS 3.1) lanzó AmigaOS 3.1.4 con una ROM Kickstart actualizada para acompañarlo.

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. La función de Kickstart es comparable a la del BIOS más el kernel del sistema operativo principal en los PC compatibles con IBM . Sin embargo, Kickstart proporciona más funcionalidad disponible en el momento del arranque de lo que normalmente se esperaría en una PC, por ejemplo, el entorno de ventanas completo.

Kickstart contiene muchas partes centrales 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 contenían controladores para controladores IDE y SCSI , puertos para tarjetas de PC y otro hardware integrado.

Al iniciar o restablecer, Kickstart realiza una serie de comprobaciones de diagnóstico y del sistema y luego inicializa el chipset Amiga y algunos componentes principales del sistema operativo. Luego examinará los dispositivos de arranque conectados e intentará arrancar desde el que tenga la mayor prioridad de arranque. Si no hay ningún dispositivo de inicio, se mostrará una pantalla solicitando al usuario que inserte un disco de inicio, generalmente un disquete.

Durante el inicio, Kickstart intenta arrancar desde un dispositivo de arranque (normalmente, un disquete o una unidad de disco duro). En el caso de un disquete, el sistema lee los dos primeros sectores del disco (el bloque de arranque ) y ejecuta las instrucciones de arranque almacenadas allí. Normalmente, este código devuelve el control al sistema operativo (invocando a AmigaDOS y la GUI) y utilizando el disco como volumen de arranque del sistema. Cualquier disco de este tipo, independientemente del resto del contenido del disco, se denominaba "disco de arranque" o "disco de arranque". Se podría agregar un bloque de arranque a un disco en blanco mediante el uso del installcomando. Algunos juegos y demostraciones en disquete usaban bloques de arranque personalizados, lo que les permitía hacerse cargo de la secuencia de arranque y administrar el hardware de Amiga sin AmigaOS.

El bootblock se convirtió en un objetivo obvio para los creadores de virus . Algunos juegos o demostraciones que usaban un bloqueo de arranque personalizado no funcionarían si estuvieran infectados con un virus de bloqueo de arranque, ya que el código del virus reemplazaba al original. El primero de estos virus fue el virus SCA . Los intentos de antivirus incluyeron bloques de arranque personalizados. Estos bloques de arranque modificados anunciaban la presencia del comprobador de virus mientras revisaban el sistema en busca de signos reveladores de virus residentes en la memoria y luego devolvían el control al sistema. Desafortunadamente, estos no se pudieron usar en discos que ya dependían de un bloque de arranque personalizado, pero alertaron a los usuarios sobre posibles problemas. Varios de ellos también se replicaron en otros discos, convirtiéndose en poco más que virus por derecho propio. [ cita necesaria ]

Núcleo

El Macintosh debería haber tenido multitarea. No puedo enfatizar lo suficiente la gran contribución que hace al elegante diseño del software del sistema. El Amiga tiene un excelente sistema multitarea y creo que gracias a ello tendrá el doble de vida útil que el Macintosh.

—  Adam Brooks Webber, el programador responsable de portar TrueBASIC a Amiga y Macintosh, Byte , septiembre de 1986 [8]

Exec es el núcleo multitarea de AmigaOS. Exec proporciona funcionalidad para tareas múltiples, asignación de memoria, manejo de interrupciones y manejo de bibliotecas compartidas dinámicas . Actúa como un programador de tareas que se ejecutan en el sistema, proporcionando multitarea preventiva con programación por turnos priorizada . Exec también proporciona acceso a otras bibliotecas y comunicación entre procesos de alto nivel mediante el paso de mensajes . Otros micronúcleos comparables han tenido problemas de rendimiento debido a la necesidad de copiar mensajes entre espacios de direcciones. Dado que Amiga tiene sólo un espacio de direcciones, el paso de mensajes 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, interfaz de línea de comandos , redirección de archivos, ventanas de consola, etc. Sus interfaces ofrecen facilidades como redirección de comandos , canalización , secuencias de comandos con primitivas de programación estructuradas y un sistema de variables globales y locales .

En AmigaOS 1.x, la parte de AmigaDOS se basó en TRIPOS , que está escrito en BCPL . La interfaz con él desde otros idiomas resultó ser una tarea difícil y propensa a errores, y la adaptación de TRIPOS no fue muy eficiente.

Desde AmigaOS 2.x en adelante, AmigaDOS fue reescrito en C y Assembler , manteniendo la compatibilidad con el programa BCPL 1.x, e incorporó partes del AmigaDOS Resource Project de terceros , [11] que ya había escrito reemplazos para muchas de las utilidades BCPL. e interfaces.

ARP también proporcionó uno de los primeros solicitantes de archivos estandarizados para Amiga e introdujo el uso de funciones comodín ( globbing ) de estilo UNIX más amigables en los parámetros de la línea de comandos. Otras innovaciones fueron una mejora en el rango de formatos de fecha aceptados por los comandos y la posibilidad de hacer que un comando sea residente, de modo que solo deba cargarse en la memoria una vez y permanezca en la memoria para reducir el costo de carga en usos posteriores.

En AmigaOS 4.0 , el DOS abandonó por completo el legado BCPL y, a partir de AmigaOS 4.1 , se reescribió con soporte completo para 64 bits .

Las extensiones de archivo se usan a menudo en AmigaOS, pero no son obligatorias y no son manejadas especialmente por el DOS, sino que son solo una parte convencional de los nombres de los archivos. Los programas ejecutables se reconocen mediante un número mágico .

Interfaz gráfica del usuario

El sistema de ventanas nativo de Amiga se llama Intuition , que maneja la entrada desde el teclado y el mouse y 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 agregó la biblioteca GadTools y BOOPSI en AmigaOS 2.0, los cuales proporcionaron widgets estandarizados. Commodore también publicó la Guía de estilo de la interfaz de usuario de Amiga , que explica cómo se deben diseñar 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 usa MUI como su kit de herramientas oficial, mientras que AROS usa un clon de MUI llamado Zune . AmigaOS 3.5 agregó otro conjunto de widgets, ReAction , también basado en BOOPSI.

Una característica inusual de AmigaOS es el uso de múltiples pantallas que se muestran en la misma pantalla. Cada pantalla puede tener una resolución de vídeo o profundidad de color diferente. AmigaOS 2.0 agregó soporte para pantallas públicas , permitiendo que las aplicaciones abran ventanas en las pantallas de otras aplicaciones. Antes de AmigaOS 2.0, sólo se compartía la pantalla del Workbench. [12] Un widget en la esquina superior derecha de cada pantalla permite recorrer las pantallas. Las pantallas se pueden superponer arrastrándolas hacia arriba o hacia abajo mediante sus barras de título. AmigaOS 4 introdujo pantallas que se pueden arrastrar en cualquier dirección.

Administrador de archivos

Workbench es el administrador de archivos gráficos y el entorno de escritorio nativo de AmigaOS. Aunque el término Workbench se usó originalmente para referirse a todo el sistema operativo, con el lanzamiento de AmigaOS 3.1 el sistema operativo pasó a llamarse AmigaOS y posteriormente Workbench se refiere únicamente al administrador de escritorio. Como sugiere el nombre, se utiliza la metáfora de un banco de trabajo , en lugar de la de un escritorio; Los directorios se representan como cajones , los archivos ejecutables son herramientas , los archivos de datos son proyectos y los widgets GUI son gadgets . En muchos otros aspectos, la interfaz se parece a Mac OS , con el escritorio principal mostrando iconos de discos insertados y particiones del disco duro, y una única barra de menú en la parte superior de cada pantalla. A diferencia del mouse Macintosh disponible en ese momento, el mouse Amiga estándar tiene dos botones: el botón derecho del mouse opera los menús desplegables, con un mecanismo de "soltar para seleccionar".

Características

Gráficos

Hasta el lanzamiento de la versión 3, AmigaOS sólo soportaba de forma nativa el chipset de gráficos nativo Amiga , a través de Graphics.library , que proporciona una API para primitivas geométricas , operaciones de gráficos rasterizados y manejo de sprites. Como esta API podría omitirse, algunos desarrolladores optaron por evitar la funcionalidad del sistema operativo para renderizar y programar directamente el hardware subyacente para ganar eficiencia.

Inicialmente, las tarjetas gráficas de terceros fueron admitidas a través de soluciones patentadas no oficiales. Una solución posterior en la que AmigaOS podía admitir directamente cualquier sistema de gráficos se denominó gráficos reorientables (RTG). [13] Con AmigaOS 3.5, algunos sistemas RTG se incluyeron con el sistema operativo, lo que permitió el uso de tarjetas de hardware comunes distintas a los conjuntos de chips nativos de Amiga. Los principales sistemas RTG son CyberGraphX , Picasso 96 y EGS . También están disponibles algunas bibliotecas de gráficos vectoriales, como Cairo y Anti-Grain Geometry . Los sistemas modernos pueden utilizar el motor SDL (simple DirectMedia Layer) multiplataforma para juegos y otros programas multimedia.

El Amiga no tenía ninguna capacidad de gráficos 3D incorporada , por lo que no tenía una API de gráficos 3D estándar . Más tarde, los fabricantes de tarjetas gráficas y los desarrolladores externos proporcionaron sus propios estándares, que incluían MiniGL , Warp3D , Storm Mesa ( agl.library ) y CyberGL.

Amiga se lanzó en un momento en el que había poco soporte para bibliotecas de gráficos 3D para mejorar las GUI de escritorio y las capacidades de renderizado de las computadoras. Sin embargo, Amiga se convirtió en una de las primeras plataformas de desarrollo 3D generalizadas. VideoScape 3D fue uno de los primeros sistemas de animación y renderizado 3D, y Silver/ TurboSilver fue uno de los primeros programas 3D de trazado de rayos. Entonces Amiga contaba con muchas aplicaciones influyentes en software 3D, como Imagine , Cinema 4D de maxon , Realsoft 3D , VistaPro , Aladdin 4D y Lightwave de NewTek (utilizado para renderizar películas y programas de televisión como Babylon 5 ).

Del mismo modo, si bien Amiga es bien conocida por su capacidad para sincronizar fácilmente videos, no tiene una interfaz de captura de video incorporada . Amiga admitía una gran cantidad de interfaces de terceros para captura de vídeo de fabricantes estadounidenses y europeos. Existían soluciones de hardware internas y externas, llamadas capturadores de fotogramas, para capturar fotogramas individuales o secuencias de fotogramas de vídeo, entre ellos: Newtronic Videon, Newtek DigiView, [14] Graffiti external framebuffer de 24 bits , Digilab, Videocruncher, Firecracker 24, Vidi. Amiga 12, Vidi Amiga de 24 bits y 24RT (tiempo real), Newtek Video Toaster , GVP Impact Vision IV24, MacroSystem VLab Motion y VLab PAR, DPS PAR (grabador de animación personal), VHI (interfaz de hardware de vídeo) de IOSPIRIT GmbH, DVE -10, etc. Algunas soluciones fueron complementos de hardware para tarjetas gráficas Amiga como el módulo Merlin XCalibur o el módulo DV creado para el clon de Amiga Draco de la firma alemana Macrosystem. Las modernas tarjetas de expansión de TV con bus PCI y sus interfaces de captura son compatibles a través de tv.library de Elbox Computer y tvcard.library de Guido Mersmann.

Siguiendo las tendencias modernas en la evolución de las interfaces gráficas, AmigaOS 4.1 utiliza el motor de composición de imágenes Porter-Duff acelerado por hardware 3D .

Audio

Antes de la versión 3.5, AmigaOS solo admitía oficialmente el chip de sonido nativo de Amiga , a través de audio.device . Esto facilita la reproducción de muestras de sonido en cuatro canales de sonido PCM de 8 bits controlados por DMA . El único formato de muestra de hardware admitido es el complemento a dos lineal de 8 bits con signo .

El soporte para tarjetas de audio de terceros dependía del proveedor, hasta la creación y adopción de AHI [15] como estándar de facto. AHI ofrece funcionalidad mejorada, como reproducción de audio perfecta desde un dispositivo de audio seleccionado por el usuario, funcionalidad estandarizada para grabación de audio y rutinas de mezcla de software eficientes para combinar múltiples canales de sonido, superando así el límite de hardware de cuatro canales del chipset Amiga original. AHI se puede instalar por separado en AmigaOS v2.0 y posteriores. [dieciséis]

El propio AmigaOS no admitió MIDI hasta la versión 3.1, cuando camd.library de Roger Dannenberg se adaptó como API MIDI estándar. La versión de Commodore de camd.library también incluía un controlador integrado para el puerto serie. La versión posterior de código abierto de camd.library de Kjetil Matheussen no proporcionó un controlador integrado para el puerto serie, sino que proporcionó un controlador externo.

Ejemplo de síntesis de voz con la utilidad Say incluida en Workbench 1.3

AmigaOS fue uno de los primeros sistemas operativos en incluir 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] Esto tenía tres componentes principales: narrator.device , que modula los fonemas utilizados en inglés americano , traductor.library , que traduce texto en inglés a fonemas en inglés americano usando 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. Se incluyó una utilidad llamada Say con el sistema operativo, que permitía la síntesis de texto a voz con cierto control de los parámetros de voz y voz. También se incluyó una demostración con ejemplos de programación AmigaBASIC . La síntesis de voz se utilizó ocasionalmente en programas de terceros, particularmente en software educativo. Por ejemplo, los procesadores de texto Prowrite y Excellence! podía leer documentos usando el sintetizador. Estos componentes de síntesis de voz se mantuvieron prácticamente sin cambios en versiones posteriores del sistema operativo y Commodore finalmente eliminó el soporte de síntesis de voz desde AmigaOS 2.1 en adelante debido a restricciones de licencia. [18]

A pesar de la limitación del inglés americano de los fonemas del dispositivo narrador , Francesco Devitt desarrolló una versión no oficial con síntesis de voz multilingüe. Esto hizo uso de una versión mejorada de traductor.library que podía traducir varios idiomas a fonemas, dado un conjunto de reglas para cada idioma. [19]

Almacenamiento

AmigaOS tiene un disco RAM de tamaño dinámico , que cambia de tamaño automáticamente para acomodar 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 enormemente el uso del sistema operativo. Otros archivos se pueden copiar al disco RAM como cualquier dispositivo estándar para una rápida modificación y recuperación. También a partir de AmigaOS 2.x, el disco RAM admitía la notificación de cambio de archivos, que se usaba principalmente para monitorear los archivos de configuración en busca de cambios.

A partir de AmigaOS 1.3, [20] también hay un disco RAM recuperable de capacidad fija, que funciona como un disco RAM estándar pero puede mantener su contenido en un reinicio suave. Comúnmente se le llama disco RAD por el nombre de su dispositivo predeterminado y se puede utilizar 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 limitado a los productos de memoria de expansión ASDG. Más tarde, 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] ).

secuencias de comandos

AmigaOS es compatible con el lenguaje Rexx , llamado ARexx (abreviatura de "Amiga Rexx"), y es un lenguaje de secuencias de comandos que permite secuencias de comandos completas del sistema operativo, similar a AppleScript ; scripting dentro de la aplicación, similar a VBA en Microsoft Office ; así como la comunicación entre programas. Tener un único lenguaje de script para cualquier aplicación del sistema operativo es beneficioso para los usuarios, en lugar de tener que aprender un nuevo lenguaje para cada aplicación.

Los programas pueden escuchar en un "puerto ARexx" mensajes de cadena. Estos mensajes pueden luego ser interpretados por el programa de manera similar a como lo haría un usuario presionando botones. Por ejemplo, un script ARexx ejecutado en un programa de correo electrónico podría guardar el correo electrónico mostrado actualmente, invocar un programa externo que podría extraer y procesar información y luego invocar un programa de visualización. Esto permite que las aplicaciones controlen otras aplicaciones enviando datos de un lado a otro directamente con identificadores de memoria, en lugar de guardar archivos en el disco y luego volver a cargarlos.

Desde AmigaOS 4, el lenguaje Python se incluye con el sistema operativo.

Resumen técnico

John C. Dvorak declaró en 1996:

AmigaOS "sigue siendo uno de los grandes sistemas operativos de los últimos 20 años, incorporando un núcleo pequeño y tremendas capacidades multitarea como las que sólo recientemente se han desarrollado en OS/2 y Windows NT . La mayor diferencia es que AmigaOS podía funcionar Completamente y multitarea en tan sólo 250 K de espacio de direcciones. Incluso hoy en día, el sistema operativo sólo tiene un tamaño de aproximadamente 1 MB. Y hasta el día de hoy, es muy poco lo que un sistema operativo de carga de CD-ROM que acapara la memoria puede hacer como el Amiga. ". Código estricto: no hay nada igual.
He tenido un Amiga durante tal vez una década. Es el equipo más confiable que he tenido. ¡Es increíble! Puedes entender fácilmente por qué hay tantos fanáticos por ahí. preguntándose por qué están solos en su amor por esta cosa. Amiga continúa inspirando una comunidad vibrante, aunque parecida a un culto, no muy diferente a la que tienes 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 el disco con una " .library" extensión de nombre de archivo o almacenadas en el firmware Kickstart. Se accede a todas las funciones de la biblioteca a través de una tabla de salto indirecto , que es un desplazamiento negativo con respecto al puntero base de la biblioteca. De esa manera, cada función de la biblioteca se puede parchear o enganchar en tiempo de ejecución, incluso si la biblioteca está almacenada en la ROM. La biblioteca principal de AmigaOS es exec.library ( Exec ), que proporciona una interfaz para las funciones del microkernel de Amiga .

Los controladores de dispositivos también son bibliotecas, pero implementan una interfaz estandarizada. Las aplicaciones normalmente no llaman a los dispositivos directamente como bibliotecas, sino que utilizan las funciones de E/S de 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

La parte de nivel superior de la gestión de dispositivos y recursos está controlada por controladores , que no son bibliotecas, sino tareas , y se comunican pasando mensajes. Un tipo de controlador es un controlador de sistema de archivos . AmigaOS puede hacer uso de cualquier sistema de archivos para el cual se haya escrito un controlador, una posibilidad que ha sido aprovechada por programas como CrossDOS y por algunos sistemas de archivos "alternativos" a los estándares OFS y FFS . Estos sistemas de archivos permiten agregar nuevas funciones como registro en diario o privilegios de archivos , que no se encuentran en el sistema operativo estándar. Los controladores normalmente exponen un nombre de dispositivo al DOS , que puede usarse para acceder al periférico (si lo hay) asociado con el controlador. Como ejemplo de estos conceptos está el controlador SPEAK: que podría redirigir el texto a voz hablada, a través del sistema de síntesis de voz.

Los nombres de dispositivos son cadenas que no distinguen entre mayúsculas y minúsculas (mayúsculas por convención) seguidas de dos puntos . Después de los dos puntos se puede agregar un especificador , que le brinda al controlador información adicional sobre a qué se accede y cómo . En el caso del sistema de archivos, el especificador normalmente consiste en una ruta a un archivo en el sistema de archivos; para otros controladores, los especificadores generalmente establecen las características del canal de entrada/salida deseado (para el SER: controlador de puerto serie, por ejemplo, el especificador contendrá velocidad de bits , bits de inicio y parada , etc.). Los sistemas de archivos exponen los nombres de las unidades como los nombres de sus dispositivos. Por ejemplo, DF0: de forma predeterminada se refiere a la primera unidad de disquete del sistema. En muchos sistemas DH0: se utiliza para referirse al primer disco duro. Los sistemas de archivos también exponen los nombres de los volúmenes , siguiendo la misma sintaxis que los nombres de los dispositivos: estos identifican el medio específico en la unidad administrada por el sistema de archivos. Si DF0: contiene un disco llamado "Workbench", entonces Workbench: será un nombre de volumen que se puede usar para acceder a archivos en DF0 :. Si se quisiera acceder a un archivo llamado "Bar" ubicado en el directorio "Foo" del disco con nombre "Work" en la unidad DF0:, se podría escribir " DF0:Foo/Bar" o " Work:Foo/Bar". Sin embargo, estos no son completamente equivalentes, ya que cuando se utiliza la última forma, el sistema sabe que el volumen deseado es "Trabajo" y no cualquier volumen en DF0: . Por lo tanto, siempre que se acceda a un archivo solicitado en "Trabajo" sin que el volumen "Trabajo" esté presente en ninguna unidad, dirá algo como: 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): sólo conocen la "ruta lógica" del archivo, es decir, si el archivo es una biblioteca, un archivo de documentación o una traducción de los mensajes del programa. , etcétera. Esto se soluciona en AmigaOS mediante el uso de asignaciones . Una asignación sigue, nuevamente, la misma sintaxis que el nombre de un dispositivo; sin embargo, ya apunta a un directorio dentro del sistema de archivos. El usuario puede cambiar el lugar al que apunta una asignación en cualquier momento (este comportamiento es similar, pero sin embargo 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, permitiendo así 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:

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 losas y también está presente un buscapersonas de memoria que arbitra la memoria de paginación 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 finalmente se implementó 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, Commodore usaba Workbench para referirse a todo el sistema operativo de Amiga. Como consecuencia, Workbench se usaba comúnmente para referirse tanto al sistema operativo como al componente del administrador de archivos. Para los usuarios finales, Workbench era a menudo sinónimo de AmigaOS. A partir de la versión 3.5, el sistema operativo pasó a llamarse "AmigaOS" y las versiones anteriores a la 3.5 también se denominaron retroactivamente "AmigaOS" (en lugar de Workbench). Posteriormente, "Workbench" se refiere únicamente al administrador de archivos gráfico nativo.

Desde sus inicios, Workbench ofreció una interfaz altamente personalizable. El usuario puede cambiar el aspecto de los iconos del programa reemplazándolos por otros más nuevos con diferentes combinaciones de colores. Los usuarios también pueden tomar una "instantánea" de los íconos y las ventanas para que los íconos permanezcan en el escritorio en las coordenadas elegidas por el usuario y las ventanas se abran en el tamaño deseado.

AmigaOS 1.0 – 1.4

AmigaOS 1.3 (1988)

AmigaOS 1.0 se lanzó con el primer Amiga, el Amiga 1000 , en 1985. Las versiones 1.x de AmigaOS usaban por defecto un esquema de color azul y naranja, diseñado para brindar un alto contraste incluso en las peores pantallas de televisión (los colores pueden ser modificado por el usuario). La versión 1.1 consiste principalmente en correcciones de errores y, al igual que la versión 1.0, se distribuyó únicamente para Amiga 1000.

La pantalla era altamente personalizable para la época. El usuario era libre de crear y modificar íconos del sistema y del usuario, que podían ser de tamaño y diseño arbitrarios y podían tener dos estados de imagen para producir un efecto pseudoanimado cuando se seleccionaban. Los usuarios pueden personalizar cuatro colores de pantalla y elegir entre dos resoluciones: 640×200 o 640×400 (entrelazada) en NTSC , o 640×256 o 640×512 en sistemas PAL . En revisiones posteriores, se pudo ajustar la sobreexploración del televisor o monitor.

Varias funciones quedaron obsoletas en versiones posteriores. Por ejemplo, el medidor que muestra el espacio libre en un sistema de archivos fue reemplazado por un porcentaje en AmigaOS 2.0 antes de ser restaurado en 3.5. El puntero de "ocupado" predeterminado (un globo cómico que muestra "Zzz...") fue reemplazado por un cronómetro en versiones posteriores.

AmigaOS 2.0, 2.1

AmigaOS 2.0 se lanzó con el lanzamiento del Amiga 3000 en 1990. Hasta AmigaOS 2.0 no existía un estándar de diseño unificado y los desarrolladores de aplicaciones tenían que escribir sus propios widgets (tanto botones como menús) si deseaban mejorar el ya escaso selección de widgets básicos estándar proporcionados por 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 explica cómo se deben diseñar las aplicaciones para lograr coherencia. La intuición se mejoró con BOOPSI (Sistema básico de programación orientada a objetos para la intuición), 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 usarse para programar interfaces orientadas a objetos en Amiga en cualquier nivel.

AmigaOS 2.0 también agregó soporte para pantallas públicas . En lugar de que la pantalla de AmigaOS sea la única pantalla que se puede compartir, las aplicaciones podrían crear sus propias pantallas con nombre para compartir 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 mouse, bloqueando a veces todo el sistema. AmigaOS 2.0 proporcionó Commodities , una interfaz estándar para modificar o escanear eventos de entrada. Esto incluía un método estándar para especificar secuencias de teclas de "teclas de acceso rápido" globales y un registro de Commodities Exchange para que el usuario pudiera ver qué productos se estaban ejecutando.

AmigaOS 2.1 introdujo AmigaGuide , un navegador y esquema de marcado de hipertexto simple de solo texto , para proporcionar ayuda en línea dentro de las aplicaciones. También presentó Installer , un programa de instalación de software estándar, impulsado por un lenguaje de programación similar a LISP .

AmigaOS 2.1 introdujo soporte local 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 envió originalmente con las computadoras Amiga 1200 y Amiga 4000. La versión 3.0 agregó soporte para tipos de datos, lo que permitió que cualquier aplicación que admitiera tipos de datos cargara cualquier formato de archivo compatible con tipos de datos. Workbench podría cargar cualquier imagen de fondo en cualquier formato si se instalara el tipo de datos requerido. 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 establecido AmigaGuide ganó más usabilidad al utilizar enlaces de documentos que apuntan a archivos multimedia, por ejemplo imágenes o sonidos, todos reconocidos por los tipos de datos.

AmigaOS 3.5, 3.9

Aproximadamente seis años después del lanzamiento de AmigaOS 3.1, tras la desaparición de Commodore, se concedió a Haage & Partner una licencia para actualizar AmigaOS, que se lanzó en 1999 como una actualización de software únicamente para sistemas existentes, que se ejecutaba al menos en un 68(EC)020. procesador.

La apariencia de AmigaOS , aunque todavía se basa en gran medida en la versión anterior 3.1, se revisó un poco, con una interfaz de usuario mejorada basada en ReAction, representación de íconos mejorada y soporte oficial para fondos de color verdadero . Estas versiones incluyeron soporte para mejoras de GUI de terceros existentes, como NewIcons , mediante la integración de estos parches en el sistema. Las versiones 3.5 y 3.9 incluyeron un nuevo conjunto de 256 iconos de colores y una selección de fondos de escritorio. Estos reemplazaron el esquema de color predeterminado totalmente gris metálico 4/8 utilizado en AmigaOS desde la versión 2.0 a la 3.1.

La versión 3.9 de AmigaOS fue desarrollada nuevamente por Haage&Partner y lanzada en 2000. Las principales mejoras fueron la introducción de una barra de inicio del programa 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 3.1.4; Esta fue una actualización tanto de software como de hardware para todos los Amigas. En 2019, AmigaOS 3.1.4.1 se lanzó como una actualización de software únicamente para Amiga 3.1.4, principalmente como una corrección de errores. [ cita necesaria ]

Incluye muchas correcciones, moderniza varios componentes del sistema previamente actualizados en OS 3.9, introduce soporte para discos duros más grandes (incluso durante el arranque), admite toda la línea de CPU Motorola 680x0 hasta (e incluido) el Motorola 68060 e incluye un banco de trabajo modernizado. con un nuevo conjunto de iconos opcional. A diferencia de AmigaOS 3.5/3.9, AmigaOS 3.1.4 todavía es compatible con la CPU Motorola 68000.

En mayo de 2021, Hyperion Entertainment lanzó AmigaOS 3.2, que incluye todas las funciones de la versión anterior (3.1.4.1) y agrega varias mejoras nuevas, como compatibilidad con ReAction GUI , administración de imágenes de archivos de disco Amiga , sistema de ayuda y tipos de datos mejorados. [27] En diciembre de 2021, se lanzó una actualización llamada AmigaOS 3.2.1, con correcciones de errores y otras mejoras. En marzo de 2023 se lanzó una segunda actualización, llamada AmigaOS 3.2.2, con más mejoras y correcciones de errores. [28]

AmigaOS 4.0, 4.1

AmigaOS 4.0 (2006)

Este nuevo AmigaOS, llamado AmigaOS 4.0, ha sido reescrito para ser totalmente compatible con PowerPC . Inicialmente se desarrolló en Cyberstorm PPC, ya que hacerlo independiente de los antiguos conjuntos de chips Amiga no era trivial. [29] Desde la cuarta actualización previa al lanzamiento del desarrollador, se adoptó una nueva técnica y las pantallas se pueden arrastrar en cualquier dirección. [30] También es posible arrastrar y soltar iconos de Workbench entre diferentes pantallas.

También en AmigaOS 4.0 había una nueva versión de Amidock, fuentes TrueType / OpenType y un reproductor de películas con soporte DivX y MPEG-4 .

En AmigaOS 4.1, se agregó una nueva función de preferencias de inicio que reemplazó el antiguo cajón WBStartup. Las mejoras adicionales fueron un nuevo conjunto de íconos para complementar resoluciones de pantalla más altas, nuevos temas de ventanas que incluyen sombras paralelas, una nueva versión de AmiDock con verdadera transparencia, íconos escalables y AmigaOS con función de actualización automática. [31]

En octubre de 2022, el desarrollador de AmigaOS, Hyperion Entertainment, lanzó un SDK para AmigaOS 4.1. [32]

Influencia en otros sistemas operativos

AmigaOS y compatibles

AROS Research Operating System (AROS) implementa la API de AmigaOS en un sistema operativo portátil de código abierto. Aunque no es compatible binariamente con AmigaOS (a menos que se ejecute en 68k), los usuarios han informado que es altamente compatible con el código fuente.

MorphOS es un sistema operativo nativo de PowerPC que también se ejecuta en algunos hardware de Amiga. Implementa la API de AmigaOS y proporciona compatibilidad binaria con aplicaciones AmigaOS "compatibles con el sistema operativo" (es decir, aquellas aplicaciones que no acceden directamente a ningún hardware nativo heredado de Amiga, como AmigaOS 4.x, a menos que se ejecuten en modelos 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. [33]

BeOS también presenta una estructura de tipo de datos centralizada similar a MacOS Easy Open después de que los antiguos desarrolladores de Amiga solicitaron a Be que adoptara el servicio de tipo de datos de Amiga. Permite que todo el sistema operativo reconozca todo tipo de archivos (texto, música, vídeos, documentos, etc.) con descriptores de archivos estándar . El sistema de tipos de datos proporciona a todo el sistema y a cualquier herramienta de productividad cargadores y protectores estándar para estos archivos, sin la necesidad de incorporar múltiples capacidades de carga de archivos en un solo programa. [34]

AtheOS se inspiró en AmigaOS y originalmente pretendía ser un clon de AmigaOS. [35] Syllable es una bifurcación de AtheOS e incluye algunas cualidades similares a AmigaOS y BeOS .

FriendUP es un metasistema operativo basado en la nube. Tiene muchos ex desarrolladores y empleados de Commodore y Amiga trabajando en el proyecto. El sistema operativo conserva varias características similares a AmigaOS, incluidos controladores DOS, listas de montaje, una CLI basada en TRIPOS y arrastre de pantalla. [36]

Finalmente, el sistema operativo de 3DO Interactive Multiplayer tenía un gran parecido con AmigaOS y fue desarrollado por RJ Mical , [37] el creador de la interfaz de usuario Intuition de Amiga . [38]

Ver también

Referencias

  1. ^ "Carl Sassenrath" . Consultado el 23 de mayo de 2022 .
  2. ^ "El banco de trabajo de Amiga" . Consultado el 23 de mayo de 2022 .
  3. ^ "Cloanto". Documentos Amiga . Consultado el 20 de febrero de 2015 .
  4. ^ "Cloanto confirma transferencias de derechos de autor de Commodore/Amiga". amiga-news.de . 19 de febrero de 2015 . Consultado el 20 de febrero de 2015 .
  5. ^ "Hyperion, Amiga, Inc. llegan a un acuerdo, todas las cuestiones legales resueltas". OSNoticias. 17 de octubre de 2009. Archivado desde el original el 19 de octubre de 2009 . Consultado el 18 de octubre de 2009 .
  6. ^ Larabel, Michael (5 de enero de 2016). "Hyperion confirma la filtración del código fuente de AmigaOS 3.1". Forónix .
  7. ^ "Se filtró el código fuente de Amiga OS Kickstart y Workbench | Lo vintage es lo nuevo y antiguo". Comodoro.ninja . Consultado el 22 de abril de 2016 .
  8. ^ Webber, Adam Brooks (septiembre de 1986). "Amiga contra Macintosh". BYTE . pag. 249.
  9. ^ Carl Sassenrath (1986). Manual de referencia del núcleo ROM de Amiga . vol. Ejecutivo.
  10. ^ 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 . McGraw-Hill (enero de 1991): 329–332, 234. ISSN  0360-5280.
  11. ^ "Aminet - misc/antiq/ARP_13.lha". Aminet.net . Consultado el 2 de mayo de 2015 .
  12. ^ "Pantallas de intuición - Wiki de documentación de AmigaOS". wiki.amigaos.net . Consultado el 23 de abril de 2016 .
  13. ^ Gráficos reorientables de Amiga. Amigau.com (25 de noviembre de 2009). Recuperado el 17 de julio de 2013.
  14. ^ "Nueva Tek". Archivado desde el original el 23 de febrero de 2008 . Consultado el 7 de marzo de 2008 .
  15. ^ "AHI - Audio reorientable para AmigaOS y otros". Archivado desde el original el 14 de marzo de 2006 . Consultado el 27 de marzo de 2006 .
  16. ^ "AHI - Audio reorientable para AmigaOS y otros". Archivado desde el original el 18 de julio de 2011 . Consultado el 19 de noviembre de 2010 .
  17. ^ Síntesis de texto a voz de SoftVoice. "SoftVoice, Inc. - Síntesis de texto a voz" . Consultado el 2 de mayo de 2015 .
  18. ^ ab "Amiga Workbench 2.1". Archivado desde el original el 12 de diciembre de 2008 . Consultado el 23 de noviembre de 2008 .
  19. ^ Devitt, Francesco (30 de junio de 1995). "Biblioteca de traductores (versión de voz multilingüe)" . Consultado el 9 de abril de 2013 .
  20. ^ "Workbench Nostalgia: la historia de la interfaz gráfica de usuario (GUI) de AmigaOS: versión 1.3".
  21. ^ "back2roots.org". ftp.back2roots.org . Archivado desde el original el 3 de diciembre de 2013 . Consultado el 22 de abril de 2016 .
  22. ^ "Archivo README del disco de pescado 0058". de4.aminet.net . Consultado el 23 de septiembre de 2022 .
  23. ^ "Disco de pescado 0241". de4.aminet.net . Consultado el 23 de septiembre de 2022 .
  24. ^ De PC Magazine, 22 de octubre de 1996 Inside Track por John C. Dvorak
  25. ^ Hermanos Frieden (2007). "Asignación de memoria de AmigaOS4.0". Entretenimiento Hyperion . Consultado el 2 de noviembre de 2008 .[ enlace muerto ]
  26. ^ Hermanos Frieden (2007). "Revisión del nuevo sistema de memoria AmigaOS 4.0". Entretenimiento Hyperion . Consultado el 2 de noviembre de 2008 .[ enlace muerto ]
  27. ^ "Hyperion lanza AmigaOS 3.2" (Presione soltar). Bruselas: Hyperion Entertainment. amiga-news.de. 14 de mayo de 2021 . Consultado el 17 de mayo de 2021 .
  28. ^ "Nueva Actualización 2 de AmigaOS 3.2 disponible para descargar AHORA". www.hyperion-entertainment.com . Consultado el 5 de marzo de 2023 .
  29. ^ David Doyle. "Amigaworld.net: el sitio web del portal de la comunidad informática Amiga". amigaworld.net .
  30. ^ Desconocido. "IntuitionBase: su guía para AmigaOS4.x y AmigaOne". Archivado desde el original el 4 de octubre de 2011 . Consultado el 2 de mayo de 2015 .
  31. ^ Hans-Jörg Frieden. «Actualización 1 de AmigaOS 4.1 disponible para descarga inmediata» . Consultado el 2 de mayo de 2015 .
  32. ^ Purdy, Kevin (17 de octubre de 2022). "La plataforma Amiga de 37 años recibe actualizaciones del kernel de Linux, AmigaOS SDK". Ars Técnica . Consultado el 4 de noviembre de 2022 .
  33. ^ "Guía de historia de Amiga". Amigahistory.co.uk . Consultado el 22 de abril de 2016 .
  34. ^ "Jon Watte, Metrowerks BeMeister". MacTech . Consultado el 8 de septiembre de 2011 .
  35. ^ "Comentarios de AtheOS". ANN.lu. 5 de mayo de 2000 . Consultado el 1 de diciembre de 2008 .
  36. ^ "Inicio". amigo.nube .
  37. ^ Currículum médico. "Página Mical". Mical.org . Consultado el 22 de abril de 2016 .
  38. ^ "Una historia del Amiga, parte 3: El primer prototipo". Ars Técnica . 22 de agosto de 2007 . Consultado el 2 de mayo de 2015 .

enlaces externos