Sistema operativo RISC
RISC OS es un sistema operativo de computadora diseñado originalmente por Acorn Computers Ltd en Cambridge, Inglaterra. Lanzado por primera vez en 1987, fue diseñado para ejecutarse en el conjunto de chips ARM, que Acorn había diseñado al mismo tiempo para su uso en su nueva línea de computadoras personales Archimedes. RISC OS toma su nombre de la arquitectura de computadora con conjunto de instrucciones reducido (RISC) que admite.
Entre 1987 y 1998, el sistema operativo RISC se incluyó en todos los modelos de computadora Acorn basados en ARM, incluida la línea Acorn Archimedes, la línea R de Acorn (con RISC iX como opción de arranque dual), RiscPC, A7000, y modelos prototipo como el Acorn NewsPad y la computadora Phoebe. Se utilizó una versión del sistema operativo, denominada NCOS, en Network Computer de Oracle Corporation y sistemas compatibles.
Después de la disolución de Acorn en 1998, el desarrollo del sistema operativo se bifurcó y continuaron por separado varias empresas, incluidas RISCOS Ltd, Pace Micro Technology y Castle Technology. Desde entonces, se ha incluido con varias computadoras de escritorio basadas en ARM, como Iyonix PC y A9home. A partir de marzo de 2017, el sistema operativo permanece bifurcado y es desarrollado de forma independiente por RISCOS Ltd y la comunidad RISC OS Open.
Las versiones estables más recientes se ejecutan en los procesadores ARMv3/ARMv4 RiscPC, ARMv5 Iyonix, ARMv7 Cortex-A8 (como el que se usa en BeagleBoard y Touch Book) y procesadores Cortex-A9 (como el que se usa en PandaBoard) y la computadora educativa Raspberry Pi de bajo costo. Las imágenes de la tarjeta SD se han lanzado para su descarga gratuita a Raspberry Pi 1, 2, 3 y amp; 4 usuarios con una versión de interfaz gráfica de usuario (GUI) completa y una versión solo de interfaz de línea de comandos (RISC OS Pico, con 3,8 MB).
Historia
La primera versión de RISC OS se lanzó originalmente en 1987 como Arthur 1.20. La siguiente versión, Arthur 2, se convirtió en RISC OS 2 y se lanzó en abril de 1989. RISC OS 3.00 se lanzó con el A5000 en 1991, y contenía muchas características nuevas. Para 1996, RISC OS se había enviado en más de 500 000 sistemas.
Acorn detuvo oficialmente el trabajo en el sistema operativo en enero de 1999, rebautizándose como Element 14. En marzo de 1999, una nueva empresa, RISCOS Ltd, obtuvo la licencia de los derechos para desarrollar una versión de escritorio del sistema operativo RISC a partir de Element 14 y continuó con el desarrollo de RISC. OS 3.8, que se lanzó como RISC OS 4 en julio de 1999. Mientras tanto, Element 14 también había guardado una copia de RISC OS 3.8 internamente, que desarrollaron en NCOS para usar en decodificadores. En 2000, como parte de la adquisición de Acorn Group plc por parte de MSDW Investment, RISC OS se vendió a Pace Micro Technology, quien luego lo vendió a Castle Technology Ltd.
En mayo de 2001, RISCOS Ltd lanzó RISC OS Select, un esquema de suscripción que permite a los usuarios acceder a las últimas actualizaciones de RISC OS 4. Estas actualizaciones se publican como imágenes de ROM de carga suave, separadas de la ROM donde se almacena el sistema operativo de arranque y se cargan en el momento del arranque. Select 1 se envió en mayo de 2002, seguido de Select 2 en noviembre de 2002 y el lanzamiento final de Select 3 en junio de 2004. En el mismo mes, se lanzó RISC OS 4.39, denominado RISC OS Adjust. RISC OS Adjust fue la culminación de todas las actualizaciones de Select Scheme hasta la fecha, lanzadas como un conjunto físico de ROM reemplazables para las series de máquinas RiscPC y A7000.
Mientras tanto, en octubre de 2002, Castle Technology lanzó el clon de Acorn Iyonix PC. Esto ejecutó una variante de RISC OS de 32 bits (en contraste con 26 bits), llamada RISC OS 5. RISC OS 5 es una evolución separada de RISC OS basada en el trabajo de NCOS realizado por Pace. Al año siguiente, Castle Technology compró RISC OS de Pace por una suma no revelada. En octubre de 2006, Castle anunció un plan de licencia de fuente compartida, administrado por RISC OS Open Limited, para elementos de RISC OS 5.
En octubre de 2018, se volvió a otorgar la licencia de RISC OS 5 con la licencia Apache 2.0.
En diciembre de 2020, el código fuente de RISC OS 3.71 se filtró a The Pirate Bay.
Hardware compatible
Las versiones de RISC OS se ejecutan o se han ejecutado en el siguiente hardware.
Máquina | ARM architecture | Presentada | Versión bellota | RISCOS Versión Ltd | Castle Technology, RISC OS Versión abierta | |||
---|---|---|---|---|---|---|---|---|
Primera | Último | Primera | Último | Primera | Últimas | |||
ARM con contador de programa de 26 bits | ||||||||
Acorn Archimedes | ARMv2 | 1987–1992 | 0.20 | 3.1x | — | — | — | — |
ARM con mostrador de programa de 26- & 32 bits | ||||||||
Acorn Risc PC | ARMv3 / v4 | 1994 | 3.50 | 3.71 | 4.00 | 6.20 | 5.15 | 5.28/5.29 |
Acorn A7000 y A7000+ | ARMv3 | 1995-1997 | 3.60 | |||||
Acorn Phoebe (cancelled) | ARMv4 | 1998 | 3.80 (Ursula) | — | — | — | — | — |
MicroDigital Medida | ARMv3 | 1998 | 3.71 | — | 4.02 | 6.20 | — | — |
MicroDigital Mico | 1999 | — | — | 4.03 | 4.39 | — | — | |
RiscStation R7500 | 1999 | — | — | 4.03 | 4.39 | — | — | |
Castle Kinetic RiscPC | ARMv4 | 2000 | — | — | 4.03 | 6.20 | 5.19 | 5.28/5.29 |
MicroDigital Omega | 2003 | — | — | 4.03 | 4.39 | — | — | |
Advantage Six A75 | ARMv3 | 2004 | — | — | 4.39 | — | — | |
ARM con contador de programa de 32 bits | ||||||||
Iyonix Ltd Iyonix PC | ARMv5TE | 2002 | — | — | — | — | 5.01 | 5.28/5.29 |
Advantage Six A9 (Home/RM/Loc) | ARMv5TE | 2005 | — | — | 4.42 | — | — | |
BeagleBoard | ARMv7-A | 2008 | — | — | — | — | 5.15 | 5.28/5.29 |
Siempre innovador libro táctil | 2009 | — | — | — | — | 5.28/5.29 | ||
OpenPandora's Pandora | 2010 | — | — | — | — | 5.17 | ||
PandaBoard | 2011 | — | — | — | — | 5.17 | 5.28/5.29 | |
Raspberry Pi | ARMv6, v7-A, v8-A | 2012–2020 | — | — | — | — | 5.19 | 5.28/5.29 |
IGEPv5 | ARMv7-A | 2014 | — | — | — | — | 5.23 | 5.29 |
Wandboard Quad | 2015 | — | — | — | — | 5.21 | ||
Titanio | — | — | — | — | 5.23 | 5.28/5.29 |
RISC OS Open Limited adoptó la norma 'los números pares son estables' esquema de numeración de versiones posterior a la versión 5.14, por lo tanto, algunas entradas de la tabla anterior incluyen dos versiones más recientes: la última estable y la de desarrollo más reciente.
Para el 50.º aniversario de BASIC, se lanzó un RISC OS Pico reducido especial (para tarjetas de 16 MiB y más) diseñado para iniciarse como un BBC Micro.
El sistema operativo RISC también ha sido utilizado por Acorn y Pace Micro Technology en varios decodificadores conectados a TV, a veces denominados NCOS.
RISC OS también puede ejecutarse en una variedad de emuladores de sistemas informáticos que emulan las máquinas Acorn anteriores enumeradas anteriormente.
Emulator | Máquinas emuladas | Soporte de plataformas anfitrionas | Última publicación |
---|---|---|---|
!A310Emu | Archimedes | RISC OS | 0,59 |
Archie | DOS, Windows | 0.9 – 10 February 2001 | |
ArchiEmu | RISC OS | 0,53.3 – 7 de diciembre de 2014 | |
ArcEm | Windows, Linux, macOS, RISC OS | 1.50.1 a 18 de diciembre de 2015 | |
Arculator | Windows, Linux | 2.1 – 5 septiembre 2021 | |
Virtual A5000 | Windows | 1.4 | |
Ardilla roja | Archimedes, Risc PC, A7000 | 0,6 a 28 de octubre de 2002 | |
RPCEmu | Risc PC, A7000, Phoebe | Windows, Linux, macOS, OpenBSD | 0.9.4 – 30 octubre 2021 |
VirtualRPC | Risc PC | Windows, macOS | 5 de septiembre de 2014 |
Características
Núcleo del sistema operativo
El sistema operativo es de un solo usuario y emplea multitarea cooperativa (CMT). Si bien la mayoría de los sistemas operativos de escritorio actuales usan multitarea preventiva (PMT) y subprocesos múltiples, RISC OS permanece con un sistema CMT. En 2003, muchos usuarios pidieron que el sistema operativo migrara a PMT. La protección de la memoria del sistema operativo no es completa.
El núcleo del sistema operativo se almacena en la ROM, lo que brinda un tiempo de inicio rápido y seguridad contra la corrupción del sistema operativo. RISC OS 4 y 5 se almacenan en 4 MB de memoria flash, o como una imagen ROM en una tarjeta SD en computadoras de placa única como Beagleboard o Raspberry Pi, lo que permite que el sistema operativo para ser actualizado sin tener que reemplazar el chip ROM. El sistema operativo se compone de varios módulos. Estos se pueden agregar y reemplazar, incluida la carga suave de módulos que no están presentes en la ROM en tiempo de ejecución y el reemplazo sobre la marcha. Este diseño ha llevado a los desarrolladores de sistemas operativos a publicar actualizaciones continuas para sus versiones del sistema operativo, mientras que terceros pueden escribir módulos de reemplazo de sistemas operativos para agregar nuevas funciones. Se accede a los módulos del sistema operativo a través de interrupciones de software (SWI), similar a las llamadas al sistema en otros sistemas operativos.
La mayoría de los sistemas operativos tienen interfaces binarias de aplicación definidas (ABI) para manejar filtros y vectores. El sistema operativo proporciona muchas formas en que un programa puede interceptar y modificar su funcionamiento. Esto simplifica la tarea de modificar su comportamiento, ya sea en la GUI o más profundamente. Como resultado, hay varios programas de terceros que permiten personalizar la apariencia del sistema operativo.
Sistema de archivos
El sistema de archivos está orientado al volumen: el nivel superior de la jerarquía de archivos es un volumen (disco, recurso compartido de red) precedido por el tipo de sistema de archivos. Para determinar el tipo de archivo, el sistema operativo utiliza metadatos en lugar de extensiones de archivo. Los dos puntos se utilizan para separar el sistema de archivos del resto de la ruta; la raíz está representada por un signo de dólar ($
) y los directorios están separados por un punto (.
). Las extensiones de sistemas de archivos extranjeros se muestran mediante una barra inclinada (example.txt
se convierte en example/txt
). Por ejemplo, ADFS::HardDisc4.$
es la raíz del disco denominado HardDisc4 que utiliza el sistema de archivos ADFS (Advanced Disc Filing System). Los tipos de archivo RISC OS se pueden conservar en otros sistemas agregando el tipo hexadecimal como ',xxx
' a los nombres de archivo. Cuando se utiliza software multiplataforma, los tipos de archivo se pueden invocar en otros sistemas al agregar '/[extension]
' al nombre de archivo bajo RISC OS.
Un sistema de archivos puede presentar un archivo de un tipo dado como un volumen propio, similar a un dispositivo de bucle. El sistema operativo se refiere a esta función como un sistema de archivo de imágenes. Esto permite un manejo transparente de archivos y archivos similares, que aparecen como directorios con algunas propiedades especiales. Los archivos dentro del archivo de imagen aparecen en la jerarquía debajo del archivo principal. No es necesario que el archivo contenga los datos a los que se refiere: algunos enlaces simbólicos y sistemas de archivos compartidos en red colocan una referencia dentro del archivo de imagen y van a otra parte a buscar los datos.
La API de la capa de abstracción del sistema de archivos utiliza compensaciones de archivos de 32 bits, lo que hace que el archivo individual más grande tenga una longitud de 4 GiB (menos 1 byte). Sin embargo, antes de RISC OS 5.20, la capa de abstracción del sistema de archivos y muchos sistemas de archivos nativos de RISC OS limitaban la compatibilidad a 31 bits (poco menos de 2 GiB) para evitar lidiar con extensiones de archivo aparentemente negativas cuando se expresan en notación de complemento a dos.
Formatos de archivo
El sistema operativo utiliza metadatos para distinguir los formatos de archivo. El módulo MimeMap asigna algunos formatos de archivo comunes de otros sistemas a tipos de archivo.
Núcleo
El núcleo del sistema operativo RISC es de una sola tarea y controla el manejo de interrupciones, los servicios DMA, la asignación de memoria y la visualización de video; la multitarea cooperativa es proporcionada por el módulo WindowManager.
Escritorio
La interfaz de WIMP se basa en un administrador de ventanas apiladas e incorpora tres botones de mouse (llamados Seleccionar, Menú y Ajustar), contexto- menús sensibles, control de orden de ventana (es decir, enviar hacia atrás) y enfoque dinámico de ventana (una ventana puede tener foco de entrada en cualquier posición de la pila). La barra de iconos (Dock) contiene iconos que representan unidades de disco montadas, discos RAM, aplicaciones en ejecución, utilidades del sistema y acopladas: archivos, directorios o aplicaciones inactivas. Estos íconos tienen menús sensibles al contexto y admiten la operación de arrastrar y soltar. Representan la aplicación en ejecución como un todo, independientemente de si tiene ventanas abiertas.
La GUI funciona sobre el concepto de archivos. El Filer, un administrador de archivos espaciales, muestra el contenido de un disco. Las aplicaciones se ejecutan desde la vista del archivador y los archivos se pueden arrastrar a la vista del archivador desde las aplicaciones para realizar operaciones de guardado, en lugar de abrir una ventana 'Guardar' cuadro de diálogo donde el usuario debe navegar a una ubicación ya visible en el Finder. Además, los archivos se pueden transferir directamente entre aplicaciones arrastrando un icono de guardar a la ventana de otra aplicación.
Los directorios de aplicaciones se utilizan para almacenar aplicaciones. El sistema operativo los diferencia de los directorios normales mediante el uso de un prefijo de signo de exclamación (también llamado pling o shriek). Al hacer doble clic en dicho directorio, se inicia la aplicación en lugar de abrir el directorio. Los recursos y archivos ejecutables de la aplicación están contenidos dentro del directorio, pero normalmente permanecen ocultos para el usuario. Debido a que las aplicaciones son independientes, esto permite la instalación y eliminación de arrastrar y soltar.
La RISC OS Guía de estilo fomenta una apariencia uniforme en todas las aplicaciones. Esto se introdujo en RISC OS 3 y especifica la apariencia y el comportamiento de la aplicación. Las principales aplicaciones integradas de Acorn no se actualizaron para cumplir con la guía hasta el lanzamiento de RISCOS Ltd Select en 2001.
Administrador de fuentes
RISC OS fue el primer sistema operativo en proporcionar fuentes suavizadas escalables. Arthur ya conocía las fuentes suavizadas, y su presencia en RISC OS se confirmó en una vista previa de principios de 1989, que aparece en el producto final RISC OS 2, lanzado en abril de 1989.
Una nueva versión del administrador de fuentes que emplea "fuentes de contorno de estilo nuevo" estuvo disponible después del lanzamiento de RISC OS, ofreciendo soporte completo para la impresión de fuentes escalables, y se proporcionó con Acorn Desktop Publisher. También se puso a disposición por separado y se combinó con otras aplicaciones. Este administrador de fuentes de contorno brinda soporte para la representación de contornos de fuentes en mapas de bits para uso en pantalla e impresora, empleando suavizado para fuentes en pantalla, utilizando suavizado de subpíxeles y almacenamiento en caché para tamaños de fuente pequeños. En el momento de la introducción del administrador de fuentes de contorno de Acorn, los desarrolladores de sistemas de escritorio rivales contemplaban o prometían compatibilidad con fuentes de contorno para productos aún no lanzados, como Macintosh System 7 y OS/2 versión 2.
Desde 1994, en RISC OS 3.5, ha sido posible utilizar una fuente suavizada de contorno en WindowManager para los elementos de la interfaz de usuario, en lugar de la fuente del sistema de mapa de bits de las versiones anteriores. RISC OS 4 no es compatible con Unicode, pero "RISC OS 5 proporciona un administrador de fuentes Unicode que puede mostrar caracteres Unicode y aceptar texto en UTF-8, UTF-16 y UTF-32. Otras partes del núcleo del sistema operativo RISC y los módulos principales admiten el texto descrito en UTF-8."
Se agregó soporte para los caracteres de RISC OS (y algunas otras computadoras históricas) a Unicode 13.0 (en 2020).
Aplicaciones incluidas
RISC OS está disponible en varias distribuciones, todas las cuales incluyen un pequeño conjunto estándar de aplicaciones de escritorio, pero algunas de las cuales también incluyen un conjunto mucho más amplio de programas útiles. Algunas de esas distribuciones más ricas están disponibles gratuitamente, otras se pagan.
Compatibilidad con versiones anteriores
Existe una portabilidad de software limitada con las versiones posteriores del sistema operativo y el hardware. Las aplicaciones BBC BASIC de una sola tarea a menudo requieren solo cambios triviales, si los hay. Las sucesivas actualizaciones del sistema operativo han planteado problemas más serios de compatibilidad con versiones anteriores para aplicaciones y juegos de escritorio. Las aplicaciones que aún mantienen sus autores u otros a veces se han modificado históricamente para proporcionar compatibilidad.
La introducción de RiscPC en 1994 y su posterior actualización StrongARM plantearon problemas de secuencias de código incompatibles y compresión de datos patentada. Se facilitó el parcheo de aplicaciones para StrongARM y el software UnsqueezeAIF de Acorn descomprimió las imágenes de acuerdo con su encabezado AIF. Las incompatibilidades provocaron el lanzamiento por parte de The ARM Club de su software Game On! y StrongGuard. Permitieron que algún software anteriormente incompatible se ejecutara en sistemas nuevos y actualizados. La versión del sistema operativo para A9home impedía la ejecución de software sin un encabezado AIF (de acuerdo con la nota de aplicación 295) para detener la "destrucción del escritorio".
La PC Iyonix (RISC OS 5) y A9home (RISC OS 4 personalizado) vieron más incompatibilidad de software debido a la Modos de direccionamiento de 26 bits en desuso. Desde entonces, la mayoría de las aplicaciones en desarrollo activo han sido reescritas. Se puede realizar un análisis de código estático para detectar secuencias de 26 bits utilizando ARMalyser. Su salida puede ser útil para hacer versiones de 32 bits de aplicaciones más antiguas para las que el código fuente no está disponible. Algunos programas antiguos de 26 bits se pueden ejecutar sin modificaciones con el emulador Aemulor.
Se introdujeron incompatibilidades adicionales con núcleos ARM más nuevos, como ARMv7 en BeagleBoard y ARMv8 en Raspberry Pi 3. Esto incluye cambios en el acceso a la memoria no alineado en ARMv6/v7 y la eliminación de las instrucciones SWP en ARMv8.
Contenido relacionado
Ataque con drones
Contratación electrónica
Pigmento