Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Производительность микроядра



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

Многое зависит от размеров и функциональных возможностей микроядра. В [LIED96a] подытожены результаты некоторых исследований, свидетельствующие о значительной потере производительности в так называемых микроядрах перво­го поколения. От этих потерь не удается избавиться, несмотря на усилия, направленные на оптимизацию кода микроядра. В попытке решить проблему раз­работчики увеличивали микроядро, снова включая в операционную систему критические серверы и драйверы. Основными примерами такого подхода явля­ются операционные системы Mach и Chorus. Избирательное увеличение функ­циональности микроядра приводит к снижению количества переключений меж­ду пользовательским режимом и режимом ядра, а также переключений адрес­ных пространств процессов. Хотя такой подход и снижает потери производительности, это происходит за счет сильных сторон архитектуры опера­ционной системы с микроядром: минимальных интерфейсов, гибкости и т.п.

Другой подход состоит в том, чтобы сделать микроядро не больше, а еще меньше. В [LIED96b] приводятся данные о том, что в микроядре, обладающем надлежащей архитектурой, удается избежать потерь производительности и наряду с этим повысить его гибкость и надежность. Чтобы вы имели представле­ние о размерах микроядер, заметим, что типичное микроядро первого поколения состоит из 300 Кбайт кода и содержит в себе до 140 интерфейсов системных вы­зовов. Примером маленького микроядра второго поколения является ядро опе­рационной системы L4 [HART97, LIED95], которое состоит из 12 Кбайт кода и содержит в себе 7 интерфейсов системных вызовов. Опыт работы с такими сис­темами показывает, что они являются не менее, а иногда даже более, эффектив­ными, чем такие мощные системы, как UNIX.





Дата публикования: 2014-11-04; Прочитано: 270 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...