Este artículo necesita citas adicionales para su verificación . ( julio de 2009 ) |
Revelador | Ralph Schmidt y Teemu Suikki |
---|---|
Escrito en | C , lenguaje ensamblador |
Familia de sistemas operativos | AmigaOS |
Estado de funcionamiento | Actual |
Objetivo de marketing | Amiga |
Disponible en | Inglés |
Método de actualización | Compilar desde el código fuente |
Plataformas | Serie Motorola 68000 (MC680x0, 68k), PowerPC (PPC) |
Tipo de kernel | Micronúcleo |
Interfaz de usuario predeterminada | Interfaz de línea de comandos |
Precedido por | AmigaOS |
En informática , Quark es un núcleo de sistema operativo utilizado en MorphOS . Es un microkernel diseñado para ejecutar computadoras completamente virtualizadas , llamadas cajas (ver sandbox ). A partir de 2020 , solo hay una caja disponible, ABox , que permite a los usuarios ejecutar software AmigaOS existente compilado para la serie Motorola 68000 (MC680x0 o 68k) y unidades centrales de procesamiento (CPU) PowerPC .[actualizar]
El microkernel Quark no es miembro de la familia de microkernels L4 , pero toma prestados conceptos de ella, entre ellos: el clan (grupo de tareas), el concepto de ID y el mapeo recursivo de direcciones. Quark también tiene una interfaz de mensajes asíncrona/sincrónica similar al kernel Exec de Amiga , pero adaptada a un entorno con protección de memoria .
Otras características de Quark incluyen:
Para este nuevo núcleo, se utiliza una capa de abstracción de hardware que proporciona la información de recursos de hardware necesaria, como el escaneo de todas las placas de bus Amiga Zorro II , las placas de interconexión de componentes periféricos (PCI) y los recursos de hardware locales. [1] [2]
Trance JIT es un compilador Just-in-Time (JIT) de MorphOS , o traductor de código, para ejecutar aplicaciones de 68k dentro del entorno MorphOS. Forma parte del sistema operativo MorphOS desde MorphOS 1.4. [3]
MorphOS tiene un emulador de 68k totalmente integrado para ejecutar muchas aplicaciones de Amiga, que fueron compiladas casi exclusivamente para el procesador de 68k, aunque MorphOS se ejecuta en PowerPC . Trance complementa esta función agregando compilación JIT, lo que aumenta la velocidad de la emulación. No interfiere con la integración completa de las tareas de 68k y PowerPC que MorphOS proporciona. [1]
Trance existe en forma de archivo ejecutable que se ejecuta durante el arranque y de biblioteca compartida. Aunque técnicamente no forma parte del núcleo y MorphOS puede ejecutarse sin él, Trance se considera una parte fundamental de MorphOS y una de sus funciones más potentes.
Se considera que la compatibilidad de Trance es muy alta y hay pocas o ninguna secuencia de instrucciones o aplicaciones de 68k que le causen problemas. También se considera que es muy rápido y los usuarios notan pocas diferencias entre los programas de 68k y el código nativo de PowerPC. [4] [5] [6]
Trance fue desarrollado por Ralph Schmidt y Teemu Suikki, con un apoyo menor de otros miembros del equipo de MorphOS, Mark Olsen, Sigbjørn Skjæret y Harry Sintonen.
Bajo el núcleo Quark, una reimplementación nativa de PowerPC del sistema operativo conocido de los sistemas Commodore International A1000, A500(+), A600, A2000, A1200, A3000(T) y A4000(T) se ejecuta como una combinación de una emulación virtual y un controlador . Este controlador del sistema operativo se denomina ABox.
La emulación 68k está escrita en C y utiliza macros de lenguaje ensamblador GNU Compiler Collection (GCC) cuando es necesario para acelerar algunas instrucciones complejas.
También está disponible un motor JIT llamado Trance para MorphOS, para acelerar los viejos programas de 68k más allá del estado actual de la emulación tradicional.
El Exec nativo de PPC admite el modelo de registro de PowerPC, lo que significa que no hay diferencia para este Exec si ejecuta código de 68k o de PowerPC. El código de PowerPC no bloquea la multitarea dentro del sistema operativo como en las emulaciones donde el código de 68k simplemente se emula en alguna tarea del sistema host (entonces, cada acceso fuera de este entorno detendría la multitarea en el entorno emulado).
Para las aplicaciones que se ejecutan con este nuevo núcleo ABox de PowerPC, el código 68k se ejecuta como subrutinas dentro de las tareas de PowerPC. Para las aplicaciones 68k o PowerPC, es completamente transparente si alguna biblioteca, gancho o interrupción sigue siendo 68k o ya está usando código PowerPC. [7]