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


 

В литературе отмечаются некоторые общие достоинства использования микроядра (см. [FINK97, LIED96a, WAYN94a]). В их число входят следующее:

• единообразные интерфейсы;

• расширяемость;

• гибкость;

• переносимость;

• надежность;

• поддержка распределенных систем;

• поддержка объектно-ориентированных операционных систем.

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

С появлением новых аппаратных устройств или методов программирования любую операционную систему неизбежно нужно будет пополнять новыми свойства­ми. Архитектура с применением микроядра способствует расширяемости (extensibility) операционных систем, позволяя добавлять в них новые сервисы, а также обеспечивать множественные сервисы в одной и той же функциональной об­ласти. Например, можно реализовать несколько различных способов организации хранения файлов на дисках. Далее, вместо того чтобы помещать все эти файловые сервисы в ядро, каждый способ организации хранения можно реализовать в виде процесса на пользовательском уровне. Таким образом, из всего разнообразия серви­сов пользователь может выбрать тот, который подходит ему больше других. При до­бавлении нового свойства в операционную систему с архитектурой микроядра доста­точно добавить или модифицировать лишь некоторые из серверов. Влияние новых или измененных серверов распространяется на ограниченное подмножество системы; кроме того, после модификации не нужно будет строить новое ядро.

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

Почти полная монополия компании Intel на многие комплектующие компьюте­ров вряд ли будет существовать бесконечно. Таким образом, привлекательным свой­ством операционной системы становится ее переносимость (portability). В архитекту­ре с микроядром специально предназначенный для конкретного процессора код, или по крайней мере большая его часть, находится в микроядре. Поэтому изменения, ко­торые потребуются для переноса системы на новый процессор, сводятся к минимуму и имеют тенденцию к размещению в отдельных логических группах.

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

 

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

Архитектура с микроядром хорошо работает в среде объектно-ориентированных операционных систем (object-oriented operating system). Объ­ектно-ориентированный подход способствует более строгой разработке микрояд­ра и модульных расширений операционной системы. Поэтому многие разработ­чики прилагают усилия для перехода к объектно-ориентированному конструиро­ванию [WAYN94b]. Одним из многообещающих подходов, в котором сочетаются архитектура с микроядром и принципы объектно-ориентированных операцион­ных систем, является подход с использованием компонентов [MESS96]. Компоненты — это объекты с четко заданными интерфейсами, которые могут соеди­няться между собой, образуя программы по принципу строительных блоков. Во всех взаимодействиях между компонентами используются их интерфейсы. Раз­работчики других систем, таких, как Windows 2000, не полагаются целиком и полностью на объектно-ориентированные методы, однако при разработке микро­ядра они широко применяют объектно-ориентированные принципы.

 



Дата добавления: 2016-06-05; просмотров: 1810;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.011 сек.