Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
аттестация 1.doc
Скачиваний:
50
Добавлен:
12.03.2015
Размер:
406.53 Кб
Скачать

1.6.2.Многоуровневые или слоеные системы (Layered systems)

Многоуровневые системы представляют собой ряд уровней с хорошо определенными связями между ними. Многоуровневую систему можно получить, если провести структуризацию работы вычислительной системы с точки зрения выполняемых функций. В слоеной системе объекты n-го уровня вызывают только объекты, уровень которых на единицу меньше. Нижним уровнем обычно является аппаратная часть, верхним уровнем – интерфейс пользователя. Чем ниже уровень модуля, тем более привилегированные команды и действия он может выполнять. Один из примеров слоеной структуры представлен на рисунке 2.

Рис. 2 Пример слоеной структуры

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

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

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

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

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

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

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

Пример микроядерной архитектуры операционной системы представлен на рисунке 4.

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

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