Концепция

Микроядерная архитектура

Анализ и проверка домашней работы

Организационный момент.

Ход лекции.

Тема. Микроядерная архитектура. Концепция. Преимущества и недостатки микроядерной архитектуры.

Лекция № 5

Цель.

1. Учебная.Ввести понятие микроядерной архитектуры. Рассказать о преимуществах и недостатках микроядерной архитектуры.

2. Развивающая.Развивать логическое мышление и естественное - научное мировоззрение.

3. Воспитательная. Воспитывать интерес к научным достижением и открытием.

Межпредметные связи:

· Обеспечивающие: информатика, математика.

· Обеспечиваемые: системное программирование, компьютерные цепи

Методическое обеспечение и оборудование:

1. Методическая разработка к занятию.

2. Учебный план.

3. Учебная программа

4. Рабочая программа.

5. Инструктаж по технике безопасности.

Технические средства обучения: кодоскоп, диапроэктор, персональный компьютер.

Обеспечение рабочих мест:

· Рабочие тетради

· Перечень дифференцированных вопросов.

 

3. Ответьте на вопросы:

1. Поясните определение операционной системы как расширенной машины?

2. Назовите слои ядра ОС

3. Перечислите и даете характеристику следующих слоев

· Средства аппаратной поддержки ОС

· Машинно-зависимые компоненты ОС

· Базовые механизмы ядра

· Менеджеры ресурсов

· Интерфейс системных вызовов.

4. Какие из приведенных ниже терминов являются синонимами?
привилегированный режим; защищенный режим; режим супервизора; пользовательский режим; реальный режим; режим ядра.

5. Можно ли, анализируя двоичный код программы, сделать вывод о невозмож­ности ее выполнения в пользовательском режиме?

6. В чем состоят отличия в работе процессора в привилегированном и пользова­тельском режимах?

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

8. Какие этапы включает разработка варианта мобильной ОС для новой аппа­ратной платформы?

9.Опишите порядок взаимодействия приложений с ОС, имеющей микроядерную архитектуру.

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

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

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

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