Микроядро операционной системы mach реферат

Обновлено: 07.07.2024

В разрабатывавшейся компанией IBM ОС Workplace использовалось микроядро Mach 3.0, расширенное в кооперации с OSF средствами поддержки параллельной обработки и реального времени. Микроядро заведовало функциями взаимодействия процессов, управления виртуальной памятью, управления процессами и нитями (threads), управления процессорами (включая мультипроцессорные системы), а также управления вводом–выводом и обработки прерываний. Файловая система, планировщик процессов, сетевые службы и система безопасности вынесены из микроядра. В IBM эти компоненты называют PNS (Personally Neutral Services), поскольку они используются во всех эмуляторах операционных систем.

Управление процессами и нитями в Workplace являлись функцией ядра. Но на самом деле в ядре был расположен только диспетчер процессов. Планировщик, ведающий приоритетами, определяющий порядок выполнения и заказывающий диспетчеризацию процессов и нитей, функционировал вне ядра.

Управление памятью также распределялось между микроядром и PNS. Ядро управляло аппаратурой страничной памяти. Подсистема управления страничной памятью, работающая вне ядра, определяла стратегию замещения страниц. Подобно планировщику эта подсистема являлась заменяемым компонентом.

На уровне PNS могут располагаться не только такие внутренние подсистемы, как файловая система и драйверы устройств, но и сетевые службы и даже системы управления базами данных. По мнению IBM, размещение подобных служб в непосредственной близости от микроядра позволит повысить их эффективность за счет сокращения числа вызовов функций и возможности использовать собственные драйверы устройств.

OSF ориентируется на массивно параллельные аппаратные системы. Активно изучаются вопросы изменения поведения операционной системы при возрастании числа процессоров. В такой системе микроядро Mach будет работать на всех процессорах, а сервер OSF/1 потребуется только на некоторых из них.

Микроядерную архитектуру имеет UNIX System V Release 4.

1.5.2. Микроядро Chorus

Микроядро Chorus во многих отношениях походит на ядро реализации Mach, выполненные IBM и OSF. Chorus включает поддержку распределенных процессоров, нескольких распределенных серверов операционной системы (во многом похожую на комбинацию Mach–OSF/1), управления памятью и обработки прерываний. Поддерживается также прозрачное взаимодействие с другими экземплярами микроядра Chorus, что делает Chorus хорошей основой для сильно распределенных систем.

Драйверы устройств не включаются в ядро. Аналогично подходу IBM, драйверы получают доступ к аппаратуре через ядро. Это дает возможность компоненту более высокого уровня – менеджеру устройств, отслеживать работу драйверов, функционирующих в разных узлах распределенной системы.

Что такое Mach и понятие
микроядра.
Mach - первое в мире микроядро для операционной системы, разработанное в 1985 году в Университете
Карнеги-Меллон (Питтсбург, Пенсильвания, США) в образовательных целях.
Микроядро - ядро операционной системы с минимальным функционалом и соотвественно минимальным
весом.
К минимальным функциям микроядра относятся:
1. Управление памятью (физической и вертуальной), реализация изоляции памяти, выделение памяти
процессам
2. Управление потоками
3. Управление доступом к устройствам ввода / вывода.
4. Осуществление межпроцессовой коммуникации и синхронизации.
В микроядро не входят:
драйверы устройств
Стеки (TCP/IP, USB и т.д.)
Файловые системы


Mach поддерживал программы под 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 на протяжении
долгих лет.

ОС, основанные на 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.

ОС, основанные на 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 году.

Оглавление
1.Введение 3
2.Понятие ядра и микроядра операционной системы 4-5
3.Mach 5-6
4.Концепция Mach 7-9
5.Разработка Mach 10-11
6.Проблемы с производительностью 12-14
7.Возможные решений 15-16
8.Следующее поколение 16-17

Современный мир дарит людям все более мощные технологии. Все, что мог делать первый персональный компьютер 20-ого века, сейчас умещается в маленькомсмартфоне. Вообще, появление персональных компьютеров обусловлено появлением операционных систем, которые дают возможность пользователю управлять ресурсами компьютера. Почти каждый год, крупные производители операционных систем обновляют свой продукт, делая его более быстрым, отзывчивым, а главное удобным в использовании. В структуре операционных систем лежит ядро. В данном реферате речь пойдет о микроядреMach, проект которого был закончен еще в 1994 году, но до сих пор он остается стандартом для подобных проектов.


2. Понятия ядра и микроядра операционной системы

Ядро (kernel) — центральная часть операционной системы, обеспечивающая приложениям координированный доступ к ресурсам компьютера, таким как процессорное время, память, внешнее аппаратное обеспечение, внешнееустройство ввода и вывода информации. Также обычно ядро предоставляет сервисы файловой системы и сетевых протоколов.

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

Основное достоинство микроядерной архитектуры — высокая степень модульности ядра операционной системы. Это существенно упрощает добавление в него новых компонентов. В микроядерной операционной системе можно, непрерывая её работы, загружать и выгружать новые драйверы, файловые системы и т. д. Существенно упрощается процесс отладки компонентов ядра, так как новая версия драйвера может загружаться без перезапуска всей операционной системы. Компоненты ядра операционной системы ничем принципиально не отличаются от пользовательских программ, поэтому для их отладки можно применять обычные средства.Микроядерная архитектура повышает надежность системы, поскольку ошибка на уровне непривилегированной программы менее опасна, чем отказ на уровне режима ядра.

Передача данных между процессами требует накладных расходов.

Классические микроядра предоставляют лишь очень небольшой набор низкоуровневых примитивов, или системных вызовов, реализующих базовые сервисы операционной системы.

Примеры: Symbian OS;Windows CE; OpenVMS; Mach, используемый в Mac OS X; QNX; AIX; Minix; ChorusOS; AmigaOS; MorphOS.

Mach — микроядро операционной системы, разработанное в Carnegie Mellon University при проведении исследовательских работ в области операционных систем, главным образом, распределённых и параллельных вычислений. Это один из самых первых примеров микроядра, но до сих пор он являетсястандартом для других подобных проектов.

Проект существовал с 1985 по 1994 годы и был закончен выпуском Mach 3.0. Несколько исследовательских групп продолжили разработку Mach; например, Университет Юта некоторое время вёл проект Mach 4. Mach разрабатывался как замена ядра BSD UNIX, поэтому не было необходимости в разработке нового операционного окружения. Дальнейшие.

Ядро любой современной коммерческой версии UNIX представляет собой набор очень большого количества функций, с запутанными взаимосвязями и очень расплывчатыми границами между основными подсистемами. В результате любая модификация организованной таким образом системы дается тяжело и приводит к появлению в новых версиях большого количества ошибок. Кроме того, не во всех инсталляциях нужны все компоненты ядра, а при монолитном его построении удаление ненужных функций затруднено. Недостатки, присущие операционным системам с большим монолитным ядром (а это в первую очередь различные версии UNIX'а), породили интерес к системам, построенным на основе микроядра.

Напомним, что микроядерный подход заключается в том, что базовые функции ядра оформляются в виде отдельной небольшой компоненты, выполняемой в привилегированном режиме, а остальные функции ОС выполняются в пользовательском режиме с использованием примитивов микроядра. Ввиду больших потенциальных преимуществ, которые сулит этот подход, можно предположить, что в ближайшее время большинство новых операционных систем будет строиться на основе микроядра. Наиболее известными реализациями этого подхода являются микроядра Mach и Chorus.

Мы достаточно подробно рассмотрим принципы организации и функции микроядра Mach по двум причинам. Во-первых, микроядро по определению содержит базовые механизмы, имеющиеся внутри любой операционной системы, поэтому знакомство с этими механизмами в чистом виде полезно и для изучения любой конкретной ОС.

Во-вторых, микроядра лицензируются и используются как готовый программный продукт в качестве основы для построения коммерческой сетевой операционной системы. Сейчас имеется несколько коммерческих реализаций операционных систем на основе микроядра Mach (NextStep фирмы Next, UNIX BSD, OSF/1 v.1.3), а также проводится ряд работ по использованию этого ядра. Так как свойства микроядра в значительной степени определяют свойства ОС, построенной на его основе, то знание микроядра помогает в оценке характеристик использующей его ОС.

Читайте также: