- •Введение
- •Глава 1. Операционная система как управляющее программное обеспечение
- •1.1. Понятие операционной системы
- •1.6. Семейства операционных систем
- •1.7. Место операционных систем среди программного обеспечения эвм
- •1.8. Классификация операционных систем
- •1.9. Принципы построения операционных систем
- •1.10. Переносимость ос
- •Контрольные вопросы
- •Глава 2. Архитектура ос
- •2.1. Архитектура на базе ядра в привилегированном режиме
- •Ядро ос
- •2.2. Микроядерная архитектура
- •Контрольные вопросы.
- •Глава 3. Файловая система
- •3.1. Назначение файловой системы
- •3.2. Имена и типы файлов
- •3.3. Логическая организация файлов
- •3.4. Физическая организация файлов
- •3.5. Модели и архитектуры файловых систем
- •Глава 4. Управление аппаратными устройствами эвм
- •4.1.2. Драйверы устройств
- •4.1.3. Независимый от устройств слой операционной системы
- •4.1.4. Пользовательский слой программного обеспечения
- •4.2. Управление вводом-выводом
- •4.2.1. Физическая организация устройств ввода-вывода
- •4.2.2. Организация программного обеспечения ввода-вывода
- •4.3. Мультипроцессорная обработка
- •Контрольные вопросы
- •Глава 5. Управление процессами в эвм
- •5.1. Состояние процессов
- •5.2. Контекст и дескриптор процесса
- •5.3. Алгоритмы планирования процессов
- •5.4. Операции над процессами
- •5.5. Многозадачность и многонитевость
- •5.6. Тупиковые ситуации и их предотвращение
- •5.8. Приоритеты в вычислительных системах
- •5.9. Диспетчеризация процессов
- •Контрольные вопросы к главе 5
- •Глава 6. Управление ресурсами вычислительных систем
- •6.1. Типы адресов
- •6.2. Методы управления памятью
- •6.3. Буферизация
- •6.4. Организация виртуальной памяти
- •6.5. Защита и блокировка памяти
- •Контрольные вопросы
- •Глава 7. Сетевые операционные системы
- •7.1. Структура сетевой операционной системы
- •Средства управления локальными ресурсами
- •Серверная часть Локальная часть
- •Коммуникационные средства
- •Компьютер 1 Компьютер 2
- •7.2. Одноранговые сетевые ос и ос с выделенными серверами
- •7.3. Ос для рабочих групп и ос для сетей масштаба предприятия
- •Глава 8. Microsoft Windows
- •8.1. Семейство ос компании Microsoft.
- •8.2. Семейство ос для карманных компьютеров.
- •8.3. Рыночная доля Windows
- •Контрольные вопросы
- •Заключение
- •Список рекомендуемой литературы
- •Оглавление
- •Глава 1. Операционная система как управляющее программное обеспечение
- •Глава 2. Архитектура ос
- •Глава 3. Файловая система
- •Глава 4. Управление аппаратными устройствами эвм
- •7.1. Структура сетевой операционной системы
- •7.2. Одноранговые сетевые ос и ос с выделенными серверами
- •7.3. Ос для рабочих групп и ос для сетей масштаба предприятия
2.2. Микроядерная архитектура
В привилегированном режиме работает только небольшая часть ОС - микроядро, защищенное от остальных частей ОС приложений.
В состав функций микроядра включаются те функции ОС, которые трудно или невозможно выполнить в пространстве пользователя. В соответствии с рис. 5.3 это функции слоя базовых механизмов обычного ядра и ниже. Остальные, высокоуровневые функции ядра оформляются в виде приложений, работающих в пользовательском режиме. Соотношение классической и микроядерной архитектур приведено на (рис.4).
Приложение
пользователя
Утилиты ОС
Приложение
пользователя
Утилиты ОС
Сервисные ОС
Пользовательский режим
Пользовательский режим
Привилегированный режим
Привилегированный режим
Микроядро
Ядро ОС
а) б)
Рис.4. Перенос функций ядра в пользовательское пространство: а) - классическая архитектура, б) - микроядерная архитектура
Однозначного решения о переносе в пользовательский режим тех или иных системных функций не существует. В общем случае как пользовательские приложения оформляются многие менеджеры ресурсов.
По определению, основным назначением такого приложения является обслуживание запросов других приложений (создание процесса, выделение памяти, проверка прав доступа и т.д.). Поэтому менеджеры ресурсов, вынесенные в пользовательский режим, называются серверами ОС. Одной из главных задач микроядра является поддержка взаимодействия серверов. Механизм обращения к функциям ОС с микроядерной архитектурой изображен на (рис. 5).
Сетевой
сервер
Сетевой
сервер
Сетевой
сервер
Сетевой
сервер
Пользовательский режим
Привилегированный режим
Сообщение-запрос
Микроядро
Сообщение-ответ
Рис.5. Реализация системного вызова в ОС с микроядерной архитектурой.
Клиент (прикладная программа либо другой компонент ОС) посылает соответствующему серверу сообщение-запрос на выполнение некоторой функции. Непосредственная передача этого сообщения серверу невозможна, так как каждое приложение работает в своем адресном пространстве. В качестве посредника выступает микроядро, выполняющееся в привилегированном режиме и имеющее доступ к адресным пространствам всех приложений. Микроядро передает сообщение нужному серверу, сервер выполняет запрошенную операцию и результат, снова через посредство микроядра, возвращается клиенту с помощью другого сообщения.
Такая схема обработки запроса соответствует модели клиент-сервер, где микроядро выполняет роль транспортных средств.
Микроядерная архитектура используется, в частности, в некоторых вариантах ОС Unix и частично - в ОС Windows NT.
Преимущества и недостатки микроядерной архитектуры
ОС, основанные на концепции микроядра, в высокой степени удовлетворяют большинству требований, предъявляемых к современным ОС: обладают переносимостью, расширяемостью, надежностью, подходят для поддержки распределенных вычислений.
Основным недостатком микроядерной архитектуры является снижение производительности по сравнению с классическим вариантом. Так, при классической организации выполнение системного вызова требует двух переключений режимов «привилегированный - пользовательский», а при микроядерной - четырех (см. рис. 5). При обращении к часто используемым функциям работа приложений существенно замедляется. По этой причине микроядерный подход не получил широкого распространения.
Основная проблема при использовании микроядерного подхода - что включать в микроядро, а что - выносить в пользовательское пространство. В результате ОС с такой архитектурой образуют некоторый спектр, на одном краю которого находятся системы с минимально возможным микроядром, состоящим только из средств передачи сообщений, а на другом - системы, в которых микроядро выполняет достаточно большой объем функций. Примером ОС второго типа является Windows NT, где с целью повышения производительности разработчики отклонились от микроядерной архитектуры и часто используемые функции графического интерфейса перенесли в ядро.