Монолитные операционные системы. Введение

Монолитные операционные системы

Монолитные операционные системы являются прямой противоположностью микроядерным. В монолитной ОС очень трудно удалить один из уровней многоуровневой модульной структуры. Добавление новых функций и изменение существующих для монолитных ОС требует очень хорошего знания всей архитектуры ОС и чрезвычайно больших усилий. Для преодоления этих трудностей используется технология «сервер – клиент».

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

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

Опасность возникновения конфликта между различными частями ядра;

Сложность подключения к ядру новых драйверов.

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

3. Принципы построения интерфейсов операционных систем.

Операционная система – интерфейс между аппаратурой компьютера и пользователем с его задачей.

Интерфейс операционных систем – специальные интерфейсы системного и прикладного программирования, предназначенные для выполнения следующих задач:

1) управление процессами, которое включает в себя следующий набор основных функций:

· запуск, приостанов и снятие задачи с выполнения;

· задание или изменение приоритета задачи;

· взаимодействие задач между собой (сигналы, семафоры, очереди, конвейеры, почтовые ящики);

· удаленный вызов подпрограмм;

2) управление памятью:

· запрос на выделение блока памяти;

· освобождение памяти;

· изменение параметров блока памяти;

· отображение файлов на память;

3) управление вводом/выводом:

· запрос на управление виртуальными устройствами;

· файловые операции.

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

Имеются два основных подхода к управлению задачами:

1) порождаемая задача наследует все ресурсы задачи-родителя;

2) при порождении нового процесса ресурсы для него запрашиваются у операционной системы.

Обращение к операционной системе в соответствии с имеющимися API может осуществляться:

· посредством вызова подпрограммы с передачей ей необходимых параметров;

· через механизм программных прерываний.

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

Термин API (application program interface, интерфейс прикладного программирования):

· API как интерфейс высокого уровня, принадлежащий к библиотекам RTL (run time library, библиотека во время выполнения);

· API прикладных и системных программ, входящих в поставку операционной системы;

· прочие API.

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

API используется не только прикладными, но и многими системными программами как в составе ОС, так и в составе системы программирования.

Программный интерфейс API включает в себя не только сами функции, но и соглашения об их использовании, которые зависят от:

· операционной системы;

· архитектуры целевой вычислительной системы;

· системы программирования.

Варианты реализации API:

· на уровне ОС;

· на уровне системы программирования;

· на уровне внешней библиотеки процедур и функций.

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

Возможности API можно оценить со следующих позиций:

· эффективность выполнения функций API (скорость выполнения, объем вычислительных ресурсов);

· широта предоставляемых возможностей;

· зависимость прикладной программы от архитектуры целевой вычислительной системы.

В идеале набор функций API должен:

· выполняться с наивысшей эффективностью;

· предоставлять пользователю все возможности современных ОС;

· иметь минимальную зависимость от архитектуры вычислительной системы.

4. Требования к операционным системам реального времени (Отрабатывается самостоятельно).

Система реального времени должна давать отклик на непредсказуемые внешние воздействия в течение предсказуемого интервала времени. Свойства операционных систем реального времени:

· ограниченное время отклика , реакция на событие гарантированно последует до наступления крайнего срока;

· одновременность обработки . Даже если возникает более одного события одновременно, временные ограничения для всех событий должны быть выдержаны. В системе реального времени должен присутствовать параллелизм, который достигается использованием нескольких процессоров и/или многозадачного подхода.

Примеры систем реального времени:

· системы управления атомными электростанциями;

· системы управления технологическими процессами;

· системы медицинского мониторинга;

· системы управления вооружением;

· системы космической навигации;

· системы разведки;

· системы управления лабораторными экспериментами;

· системы управления автомобильными двигателями;

· робототехника;

· телеметрические системы управления;

· системы антиблокировки тормозов;

· системы сигнализации и т.д.

Различают системы «мягкого» и «жесткого» реального времени. Различия зависят от требований к системе:

· в «жесткой» системе нарушение временных ограничений не допустимо;



· в «мягкой» системе нарушение временных ограничений нежелательно.

Основные требования к операционной системе реального времени:

1) мультипрограммность и многозадачность (многопоточность) . ОС должна активно использовать прерывания для диспетчеризации. Максимальное время выполнения того или иного действия должно быть известно заранее и соответствовать требованиям приложения;

2) приоритеты задач (потоков). Проблема, какой задаче ресурс требуется больше всего. В идеальной ситуации ОСРВ отдает ресурс потоку или драйверу с ближайшим крайнем сроком завершения. Чтобы реализовать этот принцип ОС должна знать, сколько времени требуется каждому процессу для его завершения. Таких ОС нет, так как их очень сложно реализовать, поэтому вводится понятие уровня приоритета для задачи и временные ограничения сводятся к приоритетам;

3) наследование приоритетов . ОСРВ должна допускать наследование приоритета, то есть повышение уровня приоритета потока до уровня приоритета потока, который его вызывает. Наследование означает, что блокирующий ресурс поток наследует приоритет потока, который он блокирует;

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

5) предсказуемость . Времена выполнения системных вызовов и временные характеристики поведения системы в различных обстоятельствах должны быть известны разработчику.

Разработчик ОСРВ должен привести следующие характеристики:

· задержку прерывания, время от момента прерывания до момента запуска задачи;

· максимальное время выполнения каждого системного вызова;

· максимальное время маскирования прерываний драйверами и ОС.

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

Первым успешным отечественным опытом можно считать возведение в г. Сочи пятнадцатиэтажной гостиницы, при строительстве которой использовалась скользящая строительная опалубка, а подъем жидкого бетона осуществлялся по схеме «кран-бадья». Монолитные работы были окончены всего через 15 дней после начала заливки опалубки для фундамента . При этом калькуляция затрат показала, что расход строительной смеси снижен на 30,7%, а армирующего каркаса - на 24,5%. Общая экономия возведения здания с применением съемной опалубки составила 20%.

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

Преимущества монолитных технологий

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

1. Одним из главных достоинств монолитной архитектуры с применением съемной опалубки является независимость от, так называемого, шага конструкции.

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

Такая вынужденная унификация соответствующим образом сказывается и на архитектурных решениях. Проектировщик просто не в силах перешагнуть за рамки унификации и стандартизации. Монолитное строительство зданий с помощью съемной строительной опалубки стерло эти границы, открыв новые горизонты для проектных и дизайнерских решений.

2. Монолитные технологии позволяют увеличить длину пролетов со стандартных 12 метров до 15-16, а иногда и до 20 метров без ущерба жесткости, устойчивости и прочности перекрытий .

3. Монолитные дома не имеют монтажных швов, что положительно сказывается на их звукоизоляционных и теплосберегающих характеристиках. В жилых зданиях, возведенных с помощью съемной опалубки, затраты на отопление в среднем ниже на 20% в сравнении с обычными сборными из ж/б-элементов, кирпичной или блочной кладки, а в монолитных домах, построенных с применением несъемной опалубки, - на 50-70% (в зависимости от материала, из которого она произведена).

4. За счет более рационального расхода материалов (в частности строительных смесей и армирующего металлокаркаса) общий вес здания легче на 15-20%, что в свою очередь дает возможность сэкономить на фундаменте.

5. Скорость возведения монолитных зданий и сооружений существенно выше, чем при классическом сборном строительстве. «Львиную» долю работ составляет монтаж строительной опалубки. После того, как съемная опалубка установлена, выверена и закреплена, в межпалубное пространство подается строительная смесь (обычно из бункера или с помощью бетоноподающих насосов).

6. Все работы сконцентрированы на строительной площадке (кроме подготовки бетонных смесей и производства опалубки). Нет необходимости в аренде тяжелой грузоподъемной техники, организации рельсовых путей для ее хода, не требуется выделение площадей для складирования ж/б-изделий перед их монтажом и пр.

7. Высокое качество бетонных поверхностей. При использовании качественной строительной опалубки и соблюдении технологий монолитного строительства бетонные перекрытия получаются ровными и гладкими, что существенно упрощает их последующую чистовую отделку.

8. Монолитное строительство позволяет возводить более прочные, надежные и долговечные здания. Расчетный срок эксплуатации обычных панельных зданий составляет 50 лет, тогда как для монолитных - более 200! Кроме того, монолитные сооружения обладают большей сейсмической устойчивостью.

Будущее монолитных технологий

Первые монолитные сооружения имели более высокую себестоимость в сравнении со зданиями, возведенными по классической сборной технологии. Монолитное строительство стало экономически выгодным благодаря развитию съемных опалубочных систем. В настоящее время монолитные дома ориентировочно на 20-40% дешевле в строительстве, чем сборные из железобетонных элементов.

Качество строительной опалубки - краеугольный камень монолитного зодчества, от которого зависят все его преимущества: скорость и качество работ, надежность и долговечность здания, и др. Применение монолитной опалубки дает возможность еще на стадии проектирования планировать какой угодно интерьер будущих помещений, ограничение составляет только максимальная площадь комнаты. В зависимости от назначения монолитная опалубка делится на стеновую , для фундаментов, горизонтальных перекрытий и колонн .

Тенденция развития монолитных технологий показывает, что они уверенно набирают «обороты» и, возможно, постепенно вытеснят сборные железобетонные технологии с рынка вовсе. Статистика строительства г. Москвы говорит, что в 90-х годах прошлого столетия доля монолитных сооружений составляла всего 10%. В 1999 году соотношение монолитных зданий к панельным составило уже 30:70, а всего через два года, в 2001 - 50:50. Сейчас с каждым годом перевес усиливается в сторону монолитного зодчества.

  • Рост популярности возведения в Москве зданий с помощью монолитной опалубки объясняется несколькими факторами:
    • более низкой себестоимостью работ;
    • условиями плотной застройки, когда строительство сборных панельных домов ограничено небольшой площадью;
    • запретами на строительство типовых панельных зданий в исторических регионах.

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

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

Конец работы -

Эта тема принадлежит разделу:

Операционная система. Определение. Уровни операционной системы. Функции операционных систем. Понятие операционной системы

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

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ:

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Распределенные системы
Сетевые ОС не скрывают от пользователя наличие сети, сетевая поддержка не определяет в них структуру системы, а дает ей дополнительные возможности. Есть ОС, которые объединяют ресурсы нескольких ко

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

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

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

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

Реализация архитектуры операционных систем
Большинство современных ОС представляют собой хорошо структурированные модульные системы, способные к развитию, расширению и переносу на новые платформы. Какой-либо единой унифицированной архитекту

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

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

Системы с гибридным ядром
Гибридное ядро (англ. Hybrid kernel) – модифицированные микроядра (минимальная реализация основных функций ядра операционной системы компьютера), позволяющие для ускорения работы запускать «несущес

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

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

Назначение ядра Linux и его особенности
Linux реализует технологию монолитного ядра. Весь код и структуры данных ядра находятся в одном адресном пространстве. В ядре можно выделить несколько функциональных компонентов: Ø

Модули ядра
Ядро Linux дает возможность по требованию загружать в память и выгружать из нее отдельные секции кода. Такие секции называются модулями ядра и выполняются в привилегированном режиме.

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

Уровень абстрагирования от оборудования
В Windows XP реализован уровень абстрагирования от оборудования (в этой системе его называют HAL, hardware abstraction layer). Для разных аппаратных конфигураций фирма Microsoft или сторонние разр

Компоненты режима пользователя
1. Библиотека системного интерфейса 2. Подсистемы среды 3. Заранее определенные системные процессы 4. Приложения пользователя Лекция 4. Т

Мультипрограммирование. Формы многопрограммной работы
Мультипрограммирование призвано повысить эффективность использования вычислительной системы . Однако эффективность может пониматься по-разному. Наиболее характерными показателями эффективно

Понятия файла и файловой системы
Файл – это набор данных, к которым можно обращаться по имени, хранящийся на каком-либо носителе информации. Файлы относятся к абстрактному механизму. Они предоставляют способ с

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

Организация информации в файловой системе
Организация дискового пространства для размещения на нем файловой системы выполняется разбиение диска на разделы. Раздел – основа организации больших объемов дискового пространства. Разделы реализу

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

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

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

Физическая организация и адресация файла
Важным компонентом физической организации файловой системы является физическая организация файла, то есть способ размещения файла на диске. Основными критериями эффективности физической организации

Физическая организация файловой системы FAT
Логический раздел, отформатированный под файловую систему FAT, состоит из следующих областей (рисунок 5).

Физическая организация файловой системы NTFS
Файловая система NTFS была разработана в качестве основной файловой системы для ОС Windows NT в начале 90-х годов. Основными отличительными свойствами NTFS являются: − подде

Физическая организация файловых систем ext2, ext3, ext4
Как и в любой файловой системе UNIX, в составе ext2 можно выделить следующие составляющие: − блоки и группы блоков; − индексный дескриптор; − суперблок.

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

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

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

При структуризации от монолитных систем переходят к многоуровневым. Уровни образуются группами функций операционной системы - файловая система, управление процессами и устройствами и т.п. Каждый уровень может взаимодействовать только со своим непосредственным соседом - выше- или нижележащим уровнем. Прикладные программы или модули самой операционной системы передают запросы вверх и вниз по этим уровням (рисунок 4).

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

  1. Модель клиент-сервер и микроядра

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

Подход с использованием микроядра заменил вертикальное распределение функций операционной системы на горизонтальное. Компоненты, лежащие выше микроядра, хотя и используют сообщения, пересылаемые через микроядро, взаимодействуют друг с другом непосредственно. Это свойство микроядерных систем позволяет естественно использовать их в распределенных средах. При получении сообщения микроядро может его обработать или переслать другому процессу. Поскольку для микроядра безразлично, поступило ли сообщение от локального или удаленного процесса, подобная схема передачи сообщений является удобной основой удаленных вызовов процедур (RPC - remote procedure calls). Микроядро занимается основной функцией ОС – управлением ресурсами, зачастую оно берет на себя функции взаимодействия с аппаратурой, хотя предпочтительно в рамках микроядра выделять машиннозависимый функции в отдельные подмодули для улучшения переносимости. Различные варианты реализации модели клиент-сервер в структуре ОС могут существенно различаться по объему работ, выполняемых в режиме ядра. На одном краю этого спектра находится разрабатываемая фирмой IBM на основе микроядра Mach операционная система Workplace OS, придерживающаяся чистой микроядерной доктрины, состоящей в том, что все несущественные функции ОС должны выполняться не в режиме ядра, а в непривилегированном (пользовательском) режиме. На другом - Windows NT, в составе которой имеется исполняющая система (NT executive), работающая в режиме ядра и выполняющая функции обеспечения безопасности, ввода-вывода и другие.

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

В состав микроядра обычно не включают сетевые функции, пользовательский интерфейс, файловую систему, а лишь основные функции управления???

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

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

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

Микроядерные операционные системы нынче разрабатываются чаще монолитных. Однако следует заметить, что использование технологии клиент-сервер - это еще не гарантия того, что операционная система станет микроядерной. В качестве под­тверждения этому можно привести пример с операционными системами класса Windows NT, которые построены на идеологии клиент-сервер, но которые тем не менее трудно назвать микроядерными. Их «микроядро» имеет уже достаточно боль­шой размер, приставка «микро» здесь вызывает улыбку. Хотя по своей архитекту­ре супервизорная часть этих систем без каких-либо условностей может быть отне­сена к системам, построенным на базе модели клиент-сервер. Причем для последних версий операционных систем с общим названием NT (New Technology) еще более заметным является отход от микроядерной архитектуры, но сохранение принципа клиент-сервер во взаимодействиях между модулями управляющей (супервизорной) части. Для того чтобы согласиться с таким высказыванием, достаточно срав­нить операционную систему QNX и операционные системы Windows NT/2000/ХР.




Top