Главная страница
Навигация по странице:

  • Преимущества

  • 2. Многослойная монолитная архитектура.

  • Второй слой (первый программным слой) - машинно-зависимые модули (слой абстракции железа HAL)

  • 3 слой - базовые механизмы ядра

  • 4. Менеджеры ресурсов (слой принятия решения)

  • 3. Микроядерная архитектура. Идея микро ядерной архитектуры

  • 4. Наноядерная архитектура

  • 5. Экзоядерная архитектура

  • Вопросы_к_экзамену_по_операционным. Функции и механизмы программдиспетчеров, предшественников операционных систем


    Скачать 1.12 Mb.
    НазваниеФункции и механизмы программдиспетчеров, предшественников операционных систем
    Дата28.01.2018
    Размер1.12 Mb.
    Формат файлаdoc
    Имя файлаВопросы_к_экзамену_по_операционным.doc
    ТипДокументы
    #35354
    страница5 из 19
    1   2   3   4   5   6   7   8   9   ...   19

    Виды архитектур ядер операционных систем.


    1. Монолитное ядро - с точки зрения программного кода все компоненты программного кода видят друг друга (полная прозрачность всех процедур и подпрограмм). Три слоя монолитного ядра: верхний слой содержит главную программу (точка входа), средний - системные вызовы, третий слой - утилиты для работы с аппаратным обеспечением. Программное обеспечение перед тем как выполнять системный вызов помещает системный данные в качестве параметров в памяти (код данных и операций) > главная программа считывает, что требуется ПО > выбирается сервисная процедура (сколько нужно выполнить столько и будет сервизных процедур) > сервизная процедура может вызвать несколько соответствующих утилит > утилиты взаимодействует с аппаратурой > главная программа возвращает ПО ответ либо можно делать / либо сообщение об ошибке. Преимущества: надежность (никакое ПО не может вмешаться в работу ядра ОС), минимальные накладные расходы (все прозрачно, без дополнительных интерфейсов). Недостатки: очень плохая изменяемость - изменение одной функции ведет к изменению всей ОС, исходный код ядра менялся под новые версии драйверов и тд, перекомпиляция ядра). Применяются во встраиваемых программах.

    Монолитное ядро (МнЯ) предоставляет широкий набор абстракций оборудования. Все части ядра работают в одном адресном пространстве. МнЯ требуют перекомпиляции при изменении состава оборудования. Компоненты операционной системы являются не самостоятельными модулями, а составными частями одной программы. МнЯ более производительно, чем микроядро, поскольку работает как один большой процесс. МнЯ является большинство Unix-систем и Linux. Монолитность ядер усложняет отладку, понимание кода ядра, добавление новых функций и возможностей, удаление ненужного, унаследованного от предыдущих версий кода. "Разбухание" кода монолитных ядер также повышает требования к объёму оперативной памяти.

    2. Многослойная монолитная архитектура. Схема данной архитектуры в центре находится железо. Первый слой - аппаратные средства поддержки ядра (микропрограммы записанные в чипсете материнской платы, например, для перехода в привилегированном режим ОС, защита памяти, системный таймер, механизм прерываний, смена контекста ( )). Именно из-за первого слоя не на все железо можно поставить определенные ОС (если на первом слое это не реализовано, то невозможно). Второй слой (первый программным слой) - машинно-зависимые модули (слой абстракции железа HAL) - фактически драйвера для железа (чтобы ОС не зависима от конкретной аппаратной платформы). 3 слой - базовые механизмы ядра - на нем реализуется все основные функции ОС (открытие/закрытие файлов, подкачка и тд). Однако данный уровень является только исполнительным, принятие решений здесь не происходит. 4. Менеджеры ресурсов (слой принятия решения) - реализованы все алгоритмы принятия решений (какой процесс будет выполняться следующим, какие файлы открыть). Последний слой - системные вызовы (интерфейс API) - слой отвечает за взаимодействие ПО и ОС (ПО знает о существовании только этого слоя). В таком режиме все слои резиденты в оперативной памяти. Преимущества: реорганизация ядра становится легче (изменение требуется только на одном слое), процессорная производительность довольно высока (на переключение между режимами ядра и приложения время минимально 2дельтаТ(туда-обратно)). Недостатки: большие накладные расходы по оперативной памяти, ПО не может выполняться на нескольких аппаратных средствах (ядра не взаимодействует друг с другом).

    3. Микроядерная архитектура. Идея микро ядерной архитектуры (4 и 5 слои вынесем в отдельные программы). В ядре будет содержатся два слоя: машинно-зависимые модули и базовые механизмы ядра. В пользовательское режимы будут находиться сервера (памяти, вычислений), ПО, и все они равноправно могут вызывать ядро. Идея заключается в том, что есть вещи, которые обязательно нужно выполнять в ядре (выделение памяти), а принятие решений будут существовать отдельно как пользовательское ПО (в Microsoft это называется службами). Отсюда сервера не находятся в оперативной памяти, и появляются там только по требованию. В такой ситуации накладные расходы 4дельтаТ. Недостатки: большие процессорные накладные расходы, резкое снижение надежности. Преимущество: удобство работы с несколькими аппаратными системами, занимаем мало оперативной памяти.

    Микроядерная архитектура предоставляет только элементарные функции управления процессами и минимальный набор абстракций для работы с оборудованием. Большая часть работы осуществляется с помощью специальных пользовательских процессов, называемых сервисами. В микроядерной операционной системе можно, не прерывая ее работы, загружать и выгружать новые драйверы, файловые системы и т. д. Микроядерными являются ядра ОС Minix и GNU Hurd и ядро систем семейства BSD. Классическим примером микроядерной системы является Symbian OS. Это пример распространенной и отработанной микроядерной (a начиная c версии Symbian OS v8.1, и наноядерной) операционной системы.

    4. Наноядерная архитектура - в ядро входят только машинно-зависимые модули. Крайне упрощённое и минимальное ядро, выполняет лишь одну задачу – обработку аппаратных прерываний, генерируемых устройствами компьютера. После обработки посылает информацию о результатах обработки вышележащему программному обеспечению. НЯ используются для виртуализации аппаратного обеспечения реальных компьютеров или для реализации механизма гипервизора.

    5. Экзоядерная архитектура предоставляет лишь набор сервисов для взаимодействия между приложениями, а также необходимый минимум функций, связанных с защитой: выделение и высвобождение ресурсов, контроль прав доступа и т. д. ЭЯ не занимается предоставлением абстракций для физических ресурсов – эти функции выносятся в библиотеку пользовательского уровня (так называемую libOS). В отличие от микроядра ОС, базирующиеся на ЭЯ, обеспечивают большую эффективность за счет отсутствия необходимости в переключении между процессами при каждом обращении к оборудованию.

    6. Гибридные ядра (модифицированные микроядра, позволяющие для ускорения работы запускать "несущественные" части в пространстве ядра. Имеют "гибридные" достоинства и недостатки. Примером смешанного подхода может служить возможность запуска операционной системы с монолитным ядром под управлением микроядра. Так устроены 4.4BSD и MkLinux, основанные на микроядре Mach. Микроядро обеспечивает управление виртуальной памятью и работу низкоуровневых драйверов. Все остальные функции, в том числе взаимодействие с прикладными программами, осуществляются монолитным ядром. Данный подход сформировался в результате попыток использовать преимущества микроядерной архитектуры, сохраняя по возможности хорошо отлаженный код монолитного ядра.)
    1. 1   2   3   4   5   6   7   8   9   ...   19


    написать администратору сайта