Слайд 2Что такое Mach и понятие микроядра.
Mach - первое в мире микроядро для
операционной системы, разработанное в 1985 году в Университете Карнеги-Меллон (Питтсбург, Пенсильвания, США) в образовательных целях.
Микроядро - ядро операционной системы с минимальным функционалом и соотвественно минимальным весом.
К минимальным функциям микроядра относятся:
Управление памятью (физической и вертуальной), реализация изоляции памяти, выделение памяти процессам
Управление потоками
Управление доступом к устройствам ввода / вывода.
Осуществление межпроцессовой коммуникации и синхронизации.
В микроядро не входят:
драйверы устройств
Стеки (TCP/IP, USB и т.д.)
Файловые системы
Слайд 3Mach
Mach был написан на языках Ассемблер и C.
Mach проектировался как быстрая замена
UNIX, концепция «всё - файл» была пересмотрена.
Концепции при создании Mach:
Поток - единица, исполняющаяся в процессоре;
Задача - набор ресурсов, позволяющий исполнение потоков;
Порт - защищенный конвейер для межпроцессового взаимодействия между задачами;
Сообщение - данные, передаваемые программами через порт.
Слайд 4Mach поддерживал программы под UNIX, хотя сам не являлся UNIX.
Изначально работал в
паре с ядром BSD 4.2
Имеет низкую скорость межпроцессовых взаимодействий (114 мс). В BSD это 20 мс.
Mach просуществовал до 1994 года. В том году вышла последняя официальная версия Mach 3.0. Существует так же Mach 4, но он был разработан в университете Юта на основе 3.0.
Один из создателей Mach, Эви Теванян был приглашен Стивом Джобсом в компанию Next, где была разработана ОС NextStep, основаная на Mach. Также участвовал в разработке XNU (Ядро для ОС от Apple), Darwin (прототип MacOS X), MacOS 9, X (10). Благодаря именно ему сейчас существует такая операционная система, как macOS. Теванян и его команда решили массу проблем, которые не удавалось решить разработчикам Apple на протяжении долгих лет.
Слайд 5ОС, основанные на Mach
MkLinux - ОС с открытым исходным кодом, разрабатываемая Исследовательским
институтом Франции (OSF) и корпорацией Apple в 1996 году. MkLinux использовал Mach 3.0, поверх которого запускалось адаптированное ядро Linux.
macOS 10.xx/ MacOS X / OS X / Darwin - семейство UNIX-like ОС, разработанных компанией Apple для своих компьютеров и ноутбуков семейства Mac. Основана на наработках NeXTStep. По сути своей, MacOS X = ОС openSTEP + дизайн и графическая оболочка MacOS 9.
Слайд 6ОС, основанные на Mach
NeXTStep - объектно-ориентированная ОС, разработанная компанией NeXT Computer для
своих компьютеров. Первый релиз состоялся в 1989, последний (3.3) в 1995 году. NeXT и Sun MicroSystems разработали открытый кросс-платформенный API openStep, основанный на NeXTStep 3.2.
OSF/1 / Digital UNIX / Tru64 UNIX - ОС, разработанная компанией DEC для своих процессоров Alpha. Сейчас принадлежит HP.
UNICOS (UNIX Cray OS) - UNIX-подобная ОС, разработанная компанией Cray Research Inc. для своих суперкомпьютеров. Релиз состоялся в 1985 году.
Слайд 11macOS 10.14 (последняя актуальная версия)
Слайд 12Darwin в macOS 10.14 (Python IDLE)