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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



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

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

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

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

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

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

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

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

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

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

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

♦ Интерфейс системных вызовов, который служит для реализации связи из системным­ и прикладным программным обеспечением.

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

Системы с микроядром

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

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

 

Преимущества подхода системы с микроядром:

♦ небольшие размеры микроядра, которое упрощает его разработку и отладку;

♦ высокая надежность системы, вследствие того что серверы работают в режиме пользователя и в них нет прямого доступа к аппаратному обеспечению;

♦ большая гибкость и расширяемость системы (ненужные компоненты не занимают места в памяти, расширение функциональности системы сводится к добавлению у нее нового сервера);

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

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

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

Концепция виртуальных машин

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

Впервые концепция виртуальных машин была реализована в 70-те года в операционной системе VМ фирмы ІВМ. В СССР вариант этой системы (VМ/370) был широко распространен в 80-те года и имел название Система виртуальных машин ЕС ЭВМ (СВМ ЕС). Рассмотрим архитектуру этой ОС, которая показана на рис. 2.2.

Ядро системы, которое называлось монитором виртуальных машин (VМ Мопіtог, МВМ), выполнялось на физической машине, непосредственно взаимодействуя с ее аппаратным обеспечением. Монитор реализовывал набор виртуальных машин (ВМ). Каждая ВМ была точной копией аппаратного обеспечения, на ней могла быть запущенная любая ОС, разработанная для этой архитектуры. Чаще всего на ВМ устанавливали специальную однопользовательскую ОС СМS (подсистема диалоговой обработки, ПДО). На разных ВМ могли одновременно функционировать разные ОС.

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

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

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



Поделиться:


Последнее изменение этой страницы: 2017-01-19; просмотров: 170; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.191.169 (0.005 с.)