Лекционный материал представлен ниже




ОБРАЩАЮ ВАШЕ ВНИМАНИЕ НА СЛЕДУЮЩИЕ ОБСТОЯТЕЛЬСТВА

Мы с Вами работаем по дистанционной форме, мы в аудитории, вы дома.

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

Соблюдайте правила оформления имен файлов, которые Вы отправляете (образец оформления Вам представлен. Файлы без имени не рассматриваю)

ОБРАЗЕЦ ОФОРМЛЕНИЯ ОТЧЕТА ПРЕДСТВЛЕН. ОТЧЕТА ПРИСЫЛАЕМ ОФОРМЛЕННЫЕ В СООТВЕТСТВИИ С ОБРАЗЦОМ

Форма отчета скриншоты (фотографии и т.д.) материала, написанного от руки в соответствии с образцом

Имя файла должно содержать следующую информацию. ФИО, Тема, дата получения задания (в соответствии с расписанием).

Например. Иванов Иван Взаимодействие микроядра с прикладными программами С7118 13 апреля 2020

Файлы с отчетами отправлять на адрес: sveta18_06@mail.ru

Срок выполнения задания до 13 апреля 2020 года до 18 - 00

Лекционный материал представлен ниже

Тема Взаимодействие микроядра с прикладными программами

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

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

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

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


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

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

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

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


4.3 Сравнение двух архитектур: достоинства и недостатки

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

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

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

Надежность системы с микроядром повышается потому, что каждый сервер работает в своей области памяти и не может влиять не только на микроядро, но и на другие модули ОС. Уменьшение кода микроядра также уменьшает вероятность ошибок.

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

Монолитная архитектура Микроядерная архитектура
+ Высокая скорость работы – вызовы функций ядра представляют собой обычные вызовы процедур. - Дополнительные накладные расходы снижают производительность системы.
+ Простота проектирования систем – не нужно беспокоиться о разбиении на модули и спецификациях интерфейсов, т.к. любой модуль может вызвать любую функцию. - Необходимо очень аккуратно проектировать разбиение на отдельные компоненты, чтобы минимизировать взаимодействия между слоями.
- Множественность и размытость интерфейсов ухудшает расширяемость системы. Для добавления новых (или удаления старых) компонент необходимо выполнять перекомпиляцию ядра и перезагрузку системы. + Высокая степень модульности ядра ОС улучшает расширяемость, т.к. облегчается добавление новых компонент и отключение ненужных. Можно выполнять загрузку/выгрузку компонент, не прерывая работы системы.
- Сложность отладки – после внесения изменений необходимо выполнять заново сборку ядра и перезапуск системы. Сложно находить ошибки. + Упрощается процесс отладки компонент ядра (можно использовать обычные средства отладки), легче найти ошибки, уменьшаются их последствия.
- Низкая надежность – все компоненты работают в одном адресном пространстве и ошибка в одной влечет повреждение других и крах всей системы. + Повышается надежность, т.к. каждый сервер работает в своем адресном пространстве и не может влиять на работу других.
  + Простота организации распределенной обработки информации.

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

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

Для повышения производительности ОС некоторые часто используемые приложения вносятся в состав микроядра.

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

 



Поделиться:




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

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-05-11 Нарушение авторских прав и Нарушение персональных данных


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