Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Konspekt_OS.docx
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
4 Мб
Скачать
☆

2. Реализация архитектуры операционных систем

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

  1. Модульная организация;

  2. Функциональная избыточность;

  3. Функциональная избирательность;

  4. Параметрическая универсальность;

  5. Концепция многоуровневой иерархической вычислительной системы, по которой ОС представляется многослойной структурой;

  6. Разделение модулей на две группы по функциям: ядро – модули, выполняющие основные функции ОС, и модули, выполняющие вспомогательные функции ОС;

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

  8. Реализация двух режимов работы вычислительной системы: привилегированного режима (режима ядра – Kernel mode), или режима супервизора (supervisor mode), и пользовательского режима (user mode), или режима задачи (task mode);

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

Существует несколько подходов к реализации архитектуры операционных систем. В реальных ОС обычно используют некоторую комбинацию этих подходов.

2.1 Монолитные системы

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

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

2.2 Многоуровневые системы

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

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

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

Уровни могут выделяться и в монолитном ядре; в этом случае они поддерживаются программно и дают возможность упростить реализацию системы. Уровни монолитного ядра:

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

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

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

  4. Интерфейс системных вызовов, который служит для реализации связи с системным и прикладным ПО.

Размежевание базовых средств ядра и менеджеров ресурсов соответствует отделению механизмов от политик в архитектуре системы. Базовые средства ядра определяют механизмы функционирования системы, менеджеры ресурсов реализуют политику.

Рис. 2.1 – Обработка системного вызова

Недостатки многоуровневых ОС: значительные изменения одного из уровней могут иметь трудно предвидимое влияние на смежные уровни; многочисленные взаимодействия между соседними уровнями усложняют обеспечение безопасности.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]