Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Часть 1 панова.doc
Скачиваний:
6
Добавлен:
17.04.2019
Размер:
3.18 Mб
Скачать

22. Монолитная ос

Монолитная ОС (макро ядерная) - WINDOWS 9X?, LINUX.

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

Структура монолитной ОС

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

23. Структура монолитной ос Структура монолитной ос

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

Этапы обращения:

  • 1 – принимается вызов;

  • 2 – переход из режима пользователя в режим ядра, которое распределяет ресурсы между заданиями пользователя и системными процессами;

  • 3 – ОС проверяет параметры вызова, для того, чтобы определить, какой системный вызов должен быть выполнен;

  • 4 – ОС обращается к таблице, которая содержит ссылки на процедуры и вызывает соответствующую процедуру.

24. Классическая структура ос

Одним из определенных свойств ядра является работа в привилегированном режиме, т. е. ни одно приложение или программа не имеет возможности без ведома ОС получать процессор дольше разрешенного времени и также без ведома ОС ни одно приложение не может управлять совместно используемыми внешними устройствами. За обеспечение привилегий ОС отвечают средства аппаратной поддержки. При этом аппаратура компьютера поддерживает 2 режима: - пользовательский и – привилегированный (режим ядра). Понятно, что все основные функции выполняет ядро, и оно работает в привилегированном режиме, а пользовательские программы – в пользовательском режиме.

Архитектура ОС, которая построенная на привилегированном ядре и приложениях пользовательского режима называется КЛАССИЧЕСКОЙ. Такую структуру используют ОС UNIX и некоторые модификации WINDOWS NT.

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

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

Таким образом, ПО вместе с аппаратурой обеспечивает выполнение некоторого множества команд, которые определяют новую ВМ.

На следующем шаге выделяется новое нужное свойство, добавляется новый слой программной оболочки и получается более удобная ВМ.

Итак, слои ПО добавляют последовательно, пока не будет получена требуемая ВМ.

Ядро при таком порядке может состоять из следующих уровней:

    1. среда аппаратной поддержки;

    2. базовые механизмы ядра;

    3. менеджеры ресурсов;

    4. интерфейсы системных вызовов.

Все основные функции ОС, которые составляют многоуровневое ядро находятся в привилегированном режиме.

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

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

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

25-26. «Модель «экзоядра», микроядерная структура ОС

Если модель классической структуры ОС берет на себя максимальное количество функций, то принцип экзоядра – максимально отдать функции пользовательским программам, т. е., например, пользовательская программа может иметь свою файловую систему. Такая ОС должна обеспечивать безопасное распределение ресурсов среди соревнующихся за эти ресурсы пользователей. (XOK/EXOS)

Микро ядерная структура ОС (ОС QNX).

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

В состав микроядра входят:

  • машинно-зависимые модули;

  • модули для выполнения части базовых функций, (таких как функции управления процессами, обработки прерываний, управления

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

Прикладные программы или другие компоненты ОС являются клиентами. Они запрашивают выполнение некоторой функции у сервера посредствам посылки сообщений. Функции, которые выполняются пользовательском режиме, называются серверами ОС.

Вследствие того, что адресные пространства приложений изолированы, непосредственная передача сообщений между приложениями невозможна. Микро ядро имеет доступ к адресным пространствам каждого приложения и его привилегированный режим позволяет ему выступать в роли посредника. Таким образом, микро ядро передает сообщения, которые содержат имя и параметры этой процедуры, нужному серверу. Сервер выполняет запрошенную операцию, после этого ядро возвращает результат клиенту посредствам другого сообщения. Описанная модель называется модель «клиент – сервер».

Таким образом, модули взаимодействуют не вызовом процедур из друг друга, а посылкой сообщений через центральный обработчик сообщений. Сообщения идут в обоих направлениях, результаты возвращаются по тому же пути, что и запрос. Модуль, который посылает первоначальное сообщение – клиент, а который получает его – сервер. Отсюда в микроядерной структуре получается два основных понятия:

  • серверный процесс, который обрабатывает запросы;

  • клиентский процесс, который посылает запросы.

Задача ядра – управление связью между клиентами и серверами.

Преимущества микро ядерной структуры:

  • малый код ядра и отдельных подсистем, отсюда меньшее количество ошибок;

  • ядро лучше защищено от вспомогательных процессов.

Недостаток:

  • уменьшение производительности.

Сравнение моделей ос.

При классической структуре ос выполнение системных вызовов сопровождается 2-мя переключениями, а при микро ядерной – 4 переключения.

Микро ядерная структура наиболее эффективно работает в многопроцессорных системах.

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