A2 | |
---|---|
Desarrollador | HTS Zúrich |
familia de sistemas operativos | A.O.S. |
Plataformas compatibles | x86 , ARM , x86_64 y celular |
tipo de núcleo | Microkernel modular con memoria compartida |
Interfaz | gráfico, escalable |
Licencia | Módulos separados, aplicaciones y marcos de software similares a BSD distribuidos bajo otras licencias gratuitas |
Estado | Actual |
Repositorio de código fuente | svn.inf.ethz.ch/svn/lect… |
Sitio web | wiki.oberon.org/ao/a2/ |
A2 (anteriormente Bluebottle ) es un sistema operativo modular orientado a objetos con administración de memoria automática y un subsistema de tiempo real suave, desarrollado en ETH Zurich , basado en el núcleo del Sistema de objetos activos, un desarrollo posterior del sistema ETH Oberon . Proporciona un entorno de tiempo de ejecución compacto para el lenguaje Active Oberon , que permite el desarrollo de sistemas eficientes basados en objetos activos que se ejecutan directamente en el hardware sin un intérprete intermediario o una máquina virtual. A2 contiene todas las herramientas que necesita para el desarrollo: compilador, IDE , editor de formularios, generador de perfiles, editor XML, ensamblador, etc.
Un objeto activo en A2 se representa como una combinación del concepto de "objeto" tradicional para los lenguajes OOP modernos y una "actividad" (hilo) que se ejecuta en el contexto de este objeto. En esta implementación de Active Oberon, un objeto activo puede tener, además de su actividad, también las actividades de los objetos antepasados.
Otras diferencias entre A2 y los sistemas operativos más comunes son su diseño austero, una interfaz de usuario que admite la metáfora de "apuntar y hacer clic" para ejecutar comandos directamente desde el texto en cualquier ventana, similar a los hipervínculos en un navegador web. Lenguaje de programación con seguridad de tipos, administración automática de memoria, recolección de basura, un conjunto de primitivas para sincronizar el acceso a elementos internos de objetos de muchos hilos competidores (actividades).
Por encima de la capa del núcleo , una colección flexible de módulos proporciona abstracciones comunes para dispositivos y servicios, como sistemas de archivos , interfaces de usuario , conexiones de red, códecs, etc.
La mayor parte del código fuente del Oberon original entró en el proyecto A2 con el prefijo "Oberon". (medio del gráfico) . En términos de funcionalidad, esta parte del código corresponde a las capacidades de MS-DOS con un editor de texto en pantalla . .
En paralelo con AOS (A2), los estudiantes trabajaron en el sistema Native Oberon (NO). Los siguientes módulos gráficos se han creado en NO: GD54xx.Display.Mod, S3C805.Display.Mod, DisplayLinear.Mod, DisplayMach64.Mod, DisplayVGA4.Mod, Display3.Mod, DisplayGTF.Mod (Ninguna jerarquía de módulos de visualización ). Se han realizado cambios en el entorno y el sistema operativo Active Oberon (A2). A2 no admite una amplia variedad de hardware diferente, ya que no es posible que un pequeño grupo de desarrolladores escriba módulos para la mayoría de los dispositivos de video durante la creación de A2 [1] .
En A2, se ha conservado la capacidad de trabajar con objetos interactivos gráficos - Gadgets (parte media superior del diagrama). Capacidades cercanas a Windows 3.x , ya que ambos sistemas operativos compartían el mismo prototipo de Xerox PARC , donde Wirth trabajó dos veces en el mismo año (1976-1977 y 1984-1985) .
El concepto A2 se trata de ventanas y elementos gráficos interactivos e independientes dentro de las ventanas, cada uno ejecutándose en un subproceso separado con su propia máquina de estado o subproceso de actividad (lado derecho del diagrama). Todos los nombres de módulos en esta parte del sistema comienzan con "WM", que es la abreviatura de "Administrador de ventanas". Esta interfaz corresponde funcionalmente a los administradores de ventanas gráficas del sistema Unix/Linux . .
El desarrollo adicional del sistema tuvo lugar en la mejora de las aplicaciones para la interacción multimedia de audio y video de las aplicaciones a través de una conexión de red que utiliza mecanismos A2. También se escribieron módulos para varios códecs de video y audio y codificación de la información transmitida.
Como medio para la interacción remota con A2, se propone un servidor de acceso remoto VNC (lado izquierdo del diagrama).
A2 tiene la capacidad de intercambiar mensajes y configuraciones de elementos entre aplicaciones a través de la red a través de Propiedades. Propiedades es un conjunto de métodos y descripciones de objetos en formato XML para guardar la configuración de objetos. Las propiedades se pueden utilizar para instanciar objetos en A2. Tales capacidades se pueden comparar con la vinculación de interfaces como DCOM / SOAP en Windows NT , sistemas Windows NT 4.0 y el marco Java . .
Este sistema tiene muchas opciones (hasta el código ensamblador) en el archivo de configuración, que, de hecho, era el cargador [1] .
Las opciones de configuración adicionales más populares fueron TraceModules=1, ATADetect=legacy.
El proyecto Oberon fue iniciado por Niklaus Wirth en 1985. Los sistemas operativos basados en el lenguaje Oberon fueron desarrollados por jóvenes científicos del Instituto Federal de Tecnología de Suiza. El proyecto A2 se puede dividir condicionalmente en 3 etapas (AOS (2003), Bluebottle (2005), A2 (2008)) [2] . Cada etapa está asociada a un cambio en los principales mantenedores y desarrolladores del sistema.
Históricamente, el primer sistema operativo de esta familia fue BlueBottle (Botella Azul). El nombre AOS se utilizó por primera vez en el contexto del sistema de archivos [3] .
Debido a reclamos de marcas registradas, la próxima versión del sistema operativo se denominó oficialmente Bluebottle en 2005 [14] . Este sistema, con subprocesos y actividades, se ejecutaba directamente en el hardware de los sistemas monoprocesadores compatibles con Intel y el procesador StrongARM / Xscale, así como en los sistemas virtuales Macintosh QEMU , VMware y Virtual PC 4.0 ( solo Macintosh ) .
y muchas otras aplicaciones
A2 está implementado actualmente para:
A2 también se puede ejecutar en máquinas virtuales separadas , como:
y sobre sistema operativo host Windows, Unix, Linux, Darwin