Из Википедии, бесплатной энциклопедии
  (Перенаправлено из Trance JIT )
Перейти к навигации Перейти к поиску

В вычислении , Творог представляет собой операционную систему ядра используется в MorphOS . Это микроядро, предназначенное для работы полностью виртуализированных компьютеров, называемых «ящиками» (см. Песочницу ). В настоящее время только один «ящик» доступен, ABox , что позволяет пользователям запускать существующие AmigaOS программное обеспечение , скомпилированные для MC680x0 и PowerPC процессоров .

Цели дизайна [ править ]

Микроядро Quark заимствует концепции из семейства микроядра L4, но не является реализацией L4. Например, клан (группа задач), концепция идентификатора и рекурсивное сопоставление адресов происходит от L4. Quark также имеет интерфейс асинхронного / синхронного обмена сообщениями, аналогичный ядру Amiga Exec, но адаптированный к среде с защищенной памятью .

Другие функции Quark включают в себя:

Для этого нового ядра используется уровень аппаратной абстракции, который предоставляет необходимую информацию об аппаратных ресурсах, такую ​​как сканирование всех плат zorro, плат PCI и локальных аппаратных ресурсов. [1] [2]

Функции [ править ]

  • SYS_AddLinkMessage
  • SYS_AttemptSemaphore
  • SYS_AttemptSemaphoreShared
  • SYS_CopyCPUHalConfig
  • SYS_CreateMemList
  • SYS_CreateTask
  • SYS_DeletePort
  • SYS_DeleteSemaphore
  • SYS_DumpMemHeader
  • SYS_FindFreeMemArea
  • SYS_FindSkipSize
  • SYS_GetLinkMessage
  • SYS_GetMessageAttr
  • SYS_GetNextCPU
  • SYS_Init
  • SYS_InsideClan
  • SYS_IsClanMember
  • SYS_MMUAddPage
  • SYS_MMUGetEntry
  • SYS_MoveRomModuleToMemoryEnd
  • SYS_ObtainPort
  • SYS_ObtainSemaphore
  • SYS_ObtainSemaphoreShared
  • SYS_ReleaseSemaphore
  • SYS_ReplyMessage
  • SYS_SendMessage
  • SYS_SetMessageAttr
  • SYS_SetupPageTable
  • SYS_ShowExceptionThreads
  • SYS_ShowForbidThreads
  • SYS_ShowIntThreads
  • SYS_ShowQuarkState
  • SYS_ShowReadyThreads
  • SYS_ShowRunThreads
  • SYS_ShowThreads
  • SYS_ShowWaitIntThreads
  • SYS_ShowWaitThreads
  • SYS_Start
  • SYS_StartNextThread
  • SYS_StartThread
  • SYS_WaitPort

Trance JIT [ править ]

Trance JIT - это JIT- компилятор MorphOS или транслятор кода для запуска 68k приложений в среде MorphOS. Он был частью операционной системы MorphOS начиная с MorphOS 1.4. [3]

Сама MorphOS имеет полностью интегрированный эмулятор 68k для запуска многих приложений Amiga, которые почти полностью скомпилированы для процессора 68k, в то время как сама MorphOS - это PowerPC . Trance дополняет эту функциональность, добавляя JIT-компиляцию, увеличивая скорость эмуляции. Это не мешает полной интеграции 68k и задач PowerPC, которые предоставляет MorphOS. [4]

Trance существует в виде исполняемого файла, запускаемого во время загрузки, и общей библиотеки. Хотя технически он не является частью ядра и MorphOS можно запускать без него, Trance считается фундаментальной частью MorphOS и одной из его самых мощных функций.

Совместимость Trance считается очень высокой, и существует несколько последовательностей инструкций или приложений 68k или их нет, которые вызывают какие-либо проблемы. Он также считается очень быстрым, и пользователи замечают небольшие различия между программами 68k и собственным кодом PowerPC.[5] [6] [7]

Trance был разработан Ральфом Шмидтом и Теему Суйки при незначительной поддержке других членов команды MorphOS, Марка Олсена, Сигбьёрна Скьерета и Гарри Синтонена.

ABox [ править ]

Под ядром Quark встроенная в PowerPC переопределенная ОС, известная по системам Commodore A1000, A500 (+), A600, A2000, A1200, A3000 (T) и A4000 (T), работает как смесь виртуальной эмуляции и драйвера. Этот драйвер ОС называется ABox.

Эмуляция 68k написана на C и использует макросы ассемблера gcc там, где это необходимо, для ускорения определенных сложных инструкций.

JIT (Just In Time) двигатель называется Trance для MorphOS , чтобы ускорить старые программы 68K за текущее состояние традиционной эмуляции также доступна.

Собственный Exec PPC поддерживает модель регистров PowerPC, что означает, что для этого Exec нет разницы, выполняет ли он код 68k или PowerPC. Код PowerPC не блокирует многозадачность внутри ОС, как в эмуляциях, где код 68k просто эмулируется в задаче какой-либо хост-системы (тогда каждый доступ за пределами этой среды остановит многозадачность в эмулируемой среде).

Для приложений, работающих под управлением этого нового ядра PowerPC ABox, код 68k запускается как подпрограммы внутри задач PowerPC. Для приложений 68k или PowerPC это полностью прозрачно, если какая-то библиотека, ловушка, прерывание по-прежнему 68k или уже использует код PowerPC. [8]

Ссылки [ править ]

  1. ^ «MorphOS? Что это тогда?», AmigActive , стр. 14–17, июль 2000 г.
  2. ^ Дэвид Гербер (2002). «Полный список возможностей MorphOS» (PDF) . Проверено 28 июля 2010 .
  3. ^ "Доступна MorphOS 1.4" . 9 августа 2003 . Проверено 28 июля 2010 .
  4. ^ «MorphOS? Что это тогда?», AmigActive , стр. 14–17, июль 2000 г.
  5. ^ "Насколько быстро работает MorphOS?" . 8 февраля 2003 . Проверено 28 июля 2010 .
  6. ^ "Скорость MorphOS 68k" . 3 ноября 2002 . Проверено 28 июля 2010 .
  7. ^ «Сравнение: производительность AmigaOS 4.1 и MorphOS 2.3 на Pegasos II (французский язык)» . Сентябрь 2009 . Проверено 28 июля 2010 .
  8. ^ «Полный список возможностей MorphOS» . 11 декабря 2002 . Проверено 28 июля 2010 .