Наноядро Mac OS — это ядро операционной системы , которое служит основой большинства системного программного обеспечения PowerPC версий 7–9 классической Mac OS , предшествующих Mac OS X.
Первоначальная версия этого программного обеспечения представляет собой однозадачную систему, которая делегирует большинство задач эмулятору, работающему под управлением версии операционной системы Motorola 68000 series (68K). Вторая основная версия поддерживает многозадачность , многопроцессорность и передачу сообщений , и ее правильнее было бы назвать микроядром . В отличие от работающего в нем ядра Mac OS, производного от 68K, ядро PowerPC существует в защищенном пространстве памяти и выполняет драйверы устройств в пользовательском режиме .
Наноядро сильно отличается от микроядра Copland OS , хотя они были созданы последовательно со схожими целями. [ 1] [2] [3]
Оригинальное nanokernel и тесно интегрированный эмулятор Mac 68k были написаны консультантом по эмуляции Гэри Дэвидианом. [4] Его главная цель — позволить существующей версии операционной системы Motorola 68K работать на новом оборудовании. Таким образом, нормальное состояние системы — запуск кода 68K. Операционная система мало что делает, пока не будет активирована прерыванием , которое быстро сопоставляется с его эквивалентом 68K в виртуальной машине.
Другие задачи могут включать переключение обратно в режим PowerPC, если необходимо, после завершения обработки прерываний и сопоставление системы виртуальной памяти Macintosh с оборудованием PowerPC. Однако, поскольку программное обеспечение мало документировано, эти задачи могут быть выполнены эмулятором, работающим в пользовательском режиме .
Это наноядро хранится на чипе ПЗУ Mac OS, интегрированном в компьютеры Старого Света , или внутри файла ПЗУ Mac OS на диске на компьютерах Нового Света , а не устанавливается в привычном смысле.
Прогресс после 1994 года потребовал дополнительных функций. Для драйверов карт PCI была введена перспективная архитектура в ожидании микроядра Copland под названием NuKernel, которое поддерживает защиту памяти . Сетевая архитектура Open Transport представила стандартизированные примитивы синхронизации PowerPC. Клон DayStar Digital Genesis MP Macintosh требует расширений ядра для поддержки многопроцессорности. Эта эволюция позже повлияла на перестройку наноядра в Mac OS 8.6.
Наноядро Mac OS 8.6 было переписано Рене А. Вегой для добавления поддержки Multiprocessing Services 2.0. PowerMacInfo, распространяемое в составе Multiprocessing SDK, представляет собой приложение, отображающее статистику работы наноядра. [5]