Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ArchitectureOS.doc
Скачиваний:
3
Добавлен:
24.03.2015
Размер:
268.8 Кб
Скачать

Архитектура операционных систем

ОС – сложная программно-аппаратная система.

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

  • состав и взаимоотношения компонентов, а также компонентов и окружающей среды,

  • принципы проектирования и развития системы. (Стандарт ANSI/IEEE 1471-2000)

Общие тенденции в реализации архитектуры ОС

  1. Модульность

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

Во всех ОС модули делятся на две группы:

  • Ядро операционной системы – модули, исполняющие базовые функции. Это наиболее часто используемые системные модули (как правило, модуль управления системой прерываний, модуль управления процессами, модуль управления файловой системой, модуль управления памятью).

Модули ядра постоянно располагаются а памяти (резидентные модули), оформлены в виде модулей специального формата.

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

  1. Поддержка специального режима работы

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

Поддержка привилегированного и пользовательского режимов невозможна без специальных аппаратных решений процессора. Процессор IntelPentiumподдерживает 4 уровня привилегий (4 кольца: 0 ‑ самый высокий уровень привилегий, 3 – самый низкий), но операционные системыWindowsиUnixиспользуют только два.

Процессы, работающие в режиме ядра (привилегированный режим)

  1. - имеют прямой доступ к аппаратному обеспечению;

  2. - имеют доступ ко всей памяти компьютера;

  3. - не могут быть вытеснены в страничный файл на жестком диске;

  4. - выполняются с большим приоритетом, чем процессы режима пользователя.

Компоненты режима ядра защищены архитектурно: процессор предотвращает их изменение другой программой.

Процессы режима пользователя

  1. - не имеют прямого доступа к аппаратуре, это защищает систему от неисправных приложений или неавторизированного доступа;

  2. - ограничены выделенным им адресным пространством. Этим обеспечивается целостность ОС;

  3. - могут быть вытеснены из физической памяти в страничный файл на жестком диске.

  4. - выполняются с меньшим приоритетом, чем процессы режима ядра.

Процессор не должен позволять обращаться пользовательским программам к своим специальным системным регистрам. Попытка вызвать запрещенную команду или обратиться к запрещенному регистру должна вызывать прерывание (исключение).

Прикладные программы обращаются к модулям ядра операционной системы с соответствующим запросом (вызов функцийAPI). При этом процессор переключается в привилегированный режим.

Недостаток: дополнительные затраты времени на переключение режимов.

  1. Реализация многослойной структуры ОС

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

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

"Молодые" (развивающиеся) ОС (например,Linux) имеют более многослойное ядро, чем "старые" (Unix).

Такая организация повышает надежность и защищенность работы системы, поддерживает переносимость, но приводит к замедлению работы ядра.

  1. Совместимость с другими ОС и поддержка множественных прикладных сред

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

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

  • определенную систему команд,

  • определенный тип API,

  • определенный формат исполняемой программы.

Способы построения множественных прикладных средств:

  • эмуляция (моделирование выполнения каждой команды), например, режим эмуляции MSDOSв операционных системахWindows;

  • трансляция системных вызовов. В пользовательском режиме запускается транслятор, переводящий каждую функцию обращения "чужого" приложения к "чужому" APIв обращение к функции "родного"API;

  • встраивание в ядро ОС множества прикладных средств. Так реализована работа с множественными прикладными средами в OS2.

Микроядерные ОС– ОС, в состав ядра которых включено минимально необходимое количество модулей. Как правило, это 5 сервисов (сервис – совокупность клиента и сервера):

  • управление виртуальной памятью,

  • поддержка заданий и потоков,

  • взаимодействие между процессами

  • управление поддержкой ввода-вывода и прерываниями,

  • сервисы главного компьютера сети и процессора.

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

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

Достоинства:

  • простое и оптимизированное ядро (например, для работы в реальном времени),

  • возможность наращивания и изменения функций ОС без изменения ядра,

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

Монолитные (макроядерные)ОС – ОС, ядро которых не делится на центральную часть и периферийные модули (Unix).

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

Операционная система WindowsNTне является настоящей микроядерной ОС, но в ней реализован принцип клиент-сервер во взаимодействиях между модулями управляющей части.

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