Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АК_лекции.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.74 Mб
Скачать

1.4.4 Виртуальные машины

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

Рисунок 1.3 - Вариант виртуальной машины.

Первой реальной ОС такого рода была система CP/CMS или VM/370 для семейства машин IBM/370. 32-битные Windows также реализуют виртуальную машину.

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

1.4.5 Микроядерная архитектура

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

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

Рисунок 1.4 - Микроядерная архитектура операционной системы

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

Например, Windows NT содержит элементы монолитных систем.