ЗНАЕТЕ ЛИ ВЫ?

Микроядерная архитектура ОС. Преимущества и недостатки.



 

 
 

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

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

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

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

 
 

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

Преимущества:

· переносимость

· расширяемость

· повышение надежности

 

Недостаток:

· понижение производительности


 

Пример архитектуры современной ОС – архитектура: ОС Windows NT.

Структурно Windows NT можно разделить на две части: одна работает в пользовательском режиме (защищенные подсистемы Windows NT ), а другая - в режиме (исполнительная система Windows NT ). Подробно структура Windows NT изображена рис 3.10.

Серверы Windows NT называются защищенными подсистемами (protected subsystems), так как каждый из них – это отдельный процесс, память которого защищена от других процессов системой виртуальной памяти исполнительной системы NT. Так как совместное использование памяти подсистемами не реализуется автоматически, то коммуникации между ними осуществляются путем передачи сообщений. Сплошные линии на рис. 3.10 обозначают пути передачи сообщений между клиентом и сервером или между двумя серверами. Все сообщения проходят через исполнительную систему, но для простоты на рисунке это не показано.

 
 

 

Защищенные подсистемы

Термин «сервер» подразумевает, что каждая защищенная подсистема обеспечивает API, который могут использовать программы. Когда приложение (или другой сервер ) вызывает некоторую процедуру API, серверу, реализующему данную процедуру, посылается сообщение при помощи средства локального вызова процедур (local procedure call, LРС) – оптимизированного механизма исполнительной системы NT для локальной передачи сообщений. Сервер же посылает ответное сообщение вызывающей программе.

В Windows NT имеется два типа защищенных подсистем: подсистемы среды (environment subsystems) и неотъемлемые подсистемы (integral subsystems). Подсистема среды – это сервер пользовательского режима, реализующий API некоторой ОС. Когда приложение вызывает функцию API, этот вызов доставляется посредством LPC подсистеме среды. Та выполняет вызов и возвращает результаты прикладному процессу, посылая другой LPC.

Самая важная подсистема среды в Windows NT - это подсистема Win32, которая предоставляет прикладным программам API 32-разрядной Windows. Кроме того, подсистема среды Win32 реализует графический интерфейс пользователя Windows NT и управляет всем вводом пользователя и выводом приложений.

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

Исполнительная подсистема

Исполнительная система NT (NT executive) – это часть Windows NT, исполняющаяся в режиме ядра; за исключением пользовательского интерфейса, она сама по себе является законченной ОС. Исполнительная система состоит из ряда компонентов, причем каждый из них реализует два набора функций: системные сервисы, к которым могут обращаться как подсистемы среды, так и компоненты исполнительной системы, а также внутренние процедуры, доступные только компонентам исполнительной системы.

Исполнительная система NT – это «двигатель» ОС, способный поддерживать любое число серверных процессов. Серверы предоставляют исполнительной системе NT пользовательские и программные интерфейсы, а также обеспечивают среды для выполнения приложений разных типов.

Исполнительная подсистема

· Диспетчер объектов (ДО). Создает, поддерживает и уничтожает объекты исполнительной системы NT

· Справочный монитор защиты (СМЗ). Гарантирует выполнение политики защиты на локальном компьютере

· Диспетчер процессов (ДП). Создает и завершает процессы и потоки

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

· Диспетчер виртуальной памяти (ДВП). Реализует виртуальную память

· Слой абстрагирования от оборудования (НАL). Помещает кодовую прослойку между исполнительной системой NТ и аппаратной платформой, на которой работает ОС, скрывает аппаратно – зависимые детали

 


 

13. Подсистема управления процессами. Понятия процесса и потока. Задачи планирования и диспетчеризации процессов (потоков). Состояния процесса (потока). Алгоритмы планирования процессов (потоков): вытесняющие, не вытесняющие, основанные на приоритетах.





Последнее изменение этой страницы: 2016-08-16; Нарушение авторского права страницы

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