Введение

В вычислительной технике Quark — это ядро операционной системы, используемое в MorphOS. Это микроядро, разработанное для запуска полностью виртуализированных компьютеров, называемых "коробками" (см. "песочница"). По состоянию на 2020 год доступна только одна "коробка" — ABox, позволяющая пользователям запускать существующее программное обеспечение AmigaOS, скомпилированное для процессоров Motorola 68000 (MC680x0 или 68k) и PowerPC.

Транс-JIT

Trance JIT — это JIT-компилятор (компилятор Just in Time), или транслятор кода, MorphOS для запуска 68k-приложений в среде MorphOS. Он является частью операционной системы MorphOS, начиная с версии 1.4. MorphOS имеет полностью интегрированный эмулятор 68k для запуска многих приложений Amiga, которые почти исключительно компилировались для процессора 68k, хотя сама MorphOS работает на PowerPC. Trance расширяет эту функциональность, добавляя JIT-компиляцию, что повышает скорость эмуляции. Он не нарушает полную интеграцию 68k и PowerPC задач, обеспечиваемую MorphOS. Trance был разработан Ральфом Шмидтом и Теему Суйкки при незначительной поддержке других членов команды MorphOS — Марка Олсена, Сигбьёрна Скьеррета и Гарри Синтонена.

Абокс

Под ядром Quark работает PowerPC-реализация операционной системы, известной по компьютерам Commodore International A1000, A500(+), A600, A2000, A1200, A3000(T) и A4000(T), представляющая собой сочетание виртуальной эмуляции и драйвера. Этот драйвер ОС называется ABox. Эмуляция 68k написана на C и использует макросы ассемблера GNU Compiler Collection (GCC) для ускорения сложных инструкций, где это необходимо. Для MorphOS также доступен JIT-движок Trance, позволяющий ускорить старые 68k-программы по сравнению с традиционной эмуляцией. Нативный Exec PPC поддерживает регистровую модель PowerPC, что означает, что для этого Exec не имеет значения, выполняется ли код 68k или PowerPC. Код PowerPC не блокирует многозадачность внутри среды ОС, как это происходит в эмуляциях, где код 68k просто эмулируется в задаче хост-системы (в этом случае любой доступ за пределы этой среды останавливает многозадачность в эмулируемой среде). Для приложений, работающих под новым PowerPC-ядром ABox, код 68k выполняется как подпрограммы внутри PowerPC-задач. Для 68k или PowerPC приложений совершенно неважно, использует ли библиотека, хук или прерывание код 68k или уже PowerPC.