Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Одним из часто упоминаемых потенциальных недостатков микроядер является их низкая производительность. Создание сообщения и отправка его через микроядро с последующим получением и декодированием ответа занимает больше времени, чем непосредственный вызов сервиса. Однако при этом в действие вступают и другие факторы, поэтому трудно делать выводы о масштабах потери производительности и о том, есть ли она вообще.
Многое зависит от размеров и функциональных возможностей микроядра. В [LIED96a] подытожены результаты некоторых исследований, свидетельствующие о значительной потере производительности в так называемых микроядрах первого поколения. От этих потерь не удается избавиться, несмотря на усилия, направленные на оптимизацию кода микроядра. В попытке решить проблему разработчики увеличивали микроядро, снова включая в операционную систему критические серверы и драйверы. Основными примерами такого подхода являются операционные системы Mach и Chorus. Избирательное увеличение функциональности микроядра приводит к снижению количества переключений между пользовательским режимом и режимом ядра, а также переключений адресных пространств процессов. Хотя такой подход и снижает потери производительности, это происходит за счет сильных сторон архитектуры операционной системы с микроядром: минимальных интерфейсов, гибкости и т.п.
Другой подход состоит в том, чтобы сделать микроядро не больше, а еще меньше. В [LIED96b] приводятся данные о том, что в микроядре, обладающем надлежащей архитектурой, удается избежать потерь производительности и наряду с этим повысить его гибкость и надежность. Чтобы вы имели представление о размерах микроядер, заметим, что типичное микроядро первого поколения состоит из 300 Кбайт кода и содержит в себе до 140 интерфейсов системных вызовов. Примером маленького микроядра второго поколения является ядро операционной системы L4 [HART97, LIED95], которое состоит из 12 Кбайт кода и содержит в себе 7 интерфейсов системных вызовов. Опыт работы с такими системами показывает, что они являются не менее, а иногда даже более, эффективными, чем такие мощные системы, как UNIX.
Дата публикования: 2014-11-04; Прочитано: 270 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!