Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5 семестр / ПОС / 1. Основные концепции операционных систем.doc
Скачиваний:
115
Добавлен:
28.03.2015
Размер:
219.65 Кб
Скачать

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

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

Наиболее общим подходом к структуризации операционной системы является её разделение всех её модулей на две группы:

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

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

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

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

Монолитная операционная система

Большинство операционных систем использует монолитное ядро, которое компонуется как одна программа, работающая в привилегированном режиме и использующая быстрые переходы с одной процедуры на другую, не требующие переключения из привилегированного режима в пользовательский и наоборот (хоть этот процесс и происходит с аппаратной поддержкой, он занимает значительное время). Такое ядро делится на основные компоненты и модули, реализующие дополнительную функциональность – например, работу со специфическими внешними устройствами и файловыми системами (см. Рисунок 1.5, «Структура монолитного ядра операционной системы»). Переход из пользовательского режима в режим ядра осуществляется черезсистемные вызовы– интерфейс ядра операционной системы.

Рисунок 1.5. Структура монолитного ядра операционной системы

Микроядерная операционная система

Альтернативой является построение операционной системы на базе микроядра, работающего также в привилегированном режиме и выполняющего только минимум функций по управлению аппаратурой. Тогда как функции операционной системы более высокого уровня выполняют специализированные компоненты –серверы, работающие в пользовательском режиме. Управление и обмен данными при этом осуществляется через передачусообщений, доставка которых является одной из основных функций микроядра (см. Рисунок 1.6, «Структура операционной системы с микроядром»).

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

Рисунок 1.6. Структура операционной системы с микроядром