Монолитные и многоярусные ядра
Функциональные компоненты локальной ОС
- Система управления процессами;
- Система управления памятью;
- Подсистема ввода/вывода;
- Система администрирования – защита данных;
- Множественные среды – для взаимодействия с ПО.
Системные программы и системные приложения формируют системные процессы, а последние называются системными, так как инициализируются самой ОС.
Прикладной программист взаимодействует с ОС с использованием интерфейса API.
Назначение и функции сетевой ОС
Сетевая ОС – та ОС, которая позволяет предоставлять собственные ресурсы пользователям и имеет возможность получить доступ к ресурсам других ОС и обеспечить передачу информации любого рода.
Сетевая ОС предоставляет расширенную виртуальную вычислительную среду как единое целое и позволяет распределять нагрузку между компьютерами ВС. По сути такая ОС – интерфейс между пользователем и низкоуровневыми программно-аппаратными средствами и транспортами.
Распределенная система – абсолютное разделение ресурсов (идеальный вариант сетевой ОС). В сетевой ОС необходимо учитывать иерархию машин и ресурсов, а в распределенной системе прозрачный доступ к ресурсам. Современная тенденция – достижение прозрачности в сетевых ОС.
Функциональные компоненты сетевой ОС
- Локальные ресурсы;
- Серверная часть – позволяет предоставлять в пользование собственные ресурсы;
- Клиентская часть – позволяет запрашивать доступ к чужим ресурсам;
- Транспортные средства;
- Коммуникационная среда.
Только средства доступа – клиентская рабочая станция. Только средства предоставления ресурсов – серверная с выделенным сервером. И то, и другое – одноранговая.
Функции серверной части
· Блокировка файлов по записи
· Ведение справочников ресурсов
· Управление запросами удаленного доступа к собственной файловой системе и БД
· Управление очередями запросов удаленных пользователей, в том числе к своим периферийным устройствам.
Состав клиентской части ОС:
· собственно клиентская часть;
· редиректор.
Функции редиректора:
- Распознавание запросов к собственным локальным ресурсам или к сетевым ресурсам.
Функции клиентской части:
- Форматирование запросов информации к виду, пригодному для передачи на сервер.
- Прием ответов из сети и приведение их к локальному формату.
Распределённая ОС – та, у которой уже на уровне микроядра передача происходит по сетевому способу.
Коммуникационные средства
Коммуникационные (транспортные) средства – те средства, с помощью которых происходит передача информации.
Функции коммуникационной среды:
- адресация;
- буферизация;
- выбор маршрута передачи;
- оптимизация маршрута;
- обеспечение надежности передачи информации.
Транспортировка происходит по особым правилам – протоколам.
В зависимости от функций отдельной рабочей станции на ней могут отсутствовать серверная или клиентская часть, в этих случаях вводят понятие чистого сервера и чистого клиента.
Инициатор всегда клиент. Сервер (пассивная часть) находится в ожидании.
Совокупность серверной и клиентской частей называется сетевой службой по предоставлению ресурса. Она предоставляет некоторый набор услуг или сетевых сервисов.
Сервис – интерфейс между сетевой службой (поставщик услуг) и приложением (пользователь).
Ресурсы клиента могут превосходить ресурсы сервера.
Классификация ОС
1. С точки зрения алгоритмов управления процессором.
Алгоритм управления процессором – наиболее важный аспект классификации.
- Однопользовательские/многопользовательские;
- Однозадачные/многозадачные;
- С поддержкой многопоточности/без поддержки многопоточности;
- Однопроцессорные/многопроцессорные.
2. С точки зрения максимальной производительности.
Критерии оценки:
Если мы рассматриваем в качестве критерия максимальное количество задач в единицу времени, имеем в виду алгоритмические системы с пакетной обработкой.
Планируется мультипрограммная смесь, после чего нельзя повлиять на порядок выполнения задач в течение некоторого времени, пока не будет подан новый пакет. Задачи должны быть различны с точки зрения загрузки ресурсов: вычислительные, ввода/вывода (чтобы обеспечить равномерную загрузки всех средств).
3. Другие критерии:
- Удобство работы пользователя – возможность пользователя работать сразу с несколькими программами одновременно. Используется системное разделение времени.
- Реактивность – время, прошедшее от запуска программы до появления управляющего воздействия (для систем реального времени).
4. Мультипроцессированные ОС.
ОС может быть однопроцессорной или многопроцессорной в зависимости от процессора.
Симметричные ВС: набор однородных процессоров, однородное обращение в память, однородный доступ к портам. Такую систему можно наращивать по вертикали до 4…8 процессоров. Многопроцессорность – все необходимые ресурсы (не путать с многоядерностью, когда ресурсы общие).
Ассиметричные ВС: также в ВС может быть набор неоднородных процессоров – каждый со своими свойствами. Для вычислительных систем это лучше, но для ОС сложнее.
Симметричные ОС – только для симметричной аппаратуры. Все функции ОС распределены между процессорами. Идеальный вариант – динамическое распределение. Такие системы из-за своей сложности часто ненадежны.
Возможен вариант реализации симметричной ОС с полной децентрализацией (SNP-модель), т.е. сама ОС разделяет задачи по процессорам с учётом их текущей нагрузки.
Ассиметричные ОС – для любой аппаратуры. Один из вариантов ОС, ассиметричной по мультипроцессированию – когда один процессор главный, и он распределяет задачи между остальными. Это надежно.
5. Многозадачность в ОС:
- Вытесняющая – управление полностью централизованное от ОС. Она может временно прервать текущий процесс без какой-либо помощи с его стороны. Благодаря этому, зависшие приложения, как правило, не завешивают операционную систему. (Большинство современных ОС: Windows NT, UNIX, OS/2).
- Невытесняющая – управлением могут заниматься и программы, т.е. в приложении заложена возможность передачи управления (ОС для определенных задач, например файловый сервер NetWare, Windows 3.x). ОС одновременно загружает в память два или более приложений, но процессорное время предоставляется только основному приложению
6. По использованию.
- Общего назначения;
- Специализированные (выполняющие специальные задачи на специальной аппаратуре, управляющие системы, встраиваемые). Т.е. ОС РВ.
ОС РВ
ОС РВ – системы, в которых каждая задача должна быть решена в строго определённый интервал времени. Главное здесь – соблюсти временные ограничения.
ОС реального времени:
- Жесткого реального времени (hard real time) - нарушение временных ограничений недопустимо;
- Мягкого реального времени (soft real time) - нежелательно.
ОС реального времени: QNX 4.25; QNX 6.x (6.4.1->6.5.0); VxWorks.
Чтобы создать ВС реального времени – нужно следить за соответствием: ОС, аппаратура, протоколы.
Основной критерий – время реакции:
tреакции = tупр. возд. - tзапуска упр. прогр.
Под вычислительным процессом в управляющих ВС понимается реализация функций ОС, которые в реальном времени позволяют управлять решением прикладных задач в директивные сроки.
7. Классификация ОС с точки зрения распределения ресурсов:
- Детерминированное – существует некоторая мультипрограммная смесь, она анализируется и составляется расписание, которое реализуется.
- Случайное – ресурсы распределяются, исходя из сложившихся условий.
События в системе:
- Внешние – поступление исходных данных из внешней среды, необходимое для начала, либо для завершения одной или нескольких прикладных задач;
- Внутренние – всякого рода неисправности, сбои, интерактивные ошибки, проектные ошибки.
Все события (внешние и внутренние), а также моменты начала и окончания системных и прикладных задач, полностью определяют среду реального времени.
- Стационарный вычислительный процесс – выполняется под управлением внешних событий при постоянном распределении ресурсов.
- Нестационарный вычислительный процесс – выполняется под действием внутренних событий и реализует изменение распределения ресурса.
Архитектура ОС
Архитектура ОС – структурная организация совокупности программных модулей, взаимодействующих в соответствии с выбранной моделью функционирования.
Типы модулей:
- Модули, работающие в привилегированном режиме – ядро ОС (их работа не может быть прервана);
- Вспомогательные модули – непривилегированные модули программ
Вспомогательные модули взаимодействуют с ядром.
Все ОС структурно делят на ОС на основе ядра и микроядра.
Работа в привилегированном режиме позволяет:
- Защитить модули ядра и вообще код и данные ОС от приложений прикладного режима. Ни одно из приложений пользователя не может разрушить систему.
- Ведется арбитраж ресурсов между приложениями, работающими в прикладном режиме.
Работа ОС в двух режимах:
- Режим ядра (Kernel mode);
- Пользовательский режим (User mode).
Основные функции ядра (те, которые связаны с критичными командами по переключению процессора с прикладных задач на задачи управления УВВ, периферией; управление памятью, кэширование) выполняются в привилегированном режиме и имеют доступ ко всем адресным пространствам приложений. Любое приложение имеет доступ только к своему адресному пространству.
Если аппаратура позволяет использовать 2 уровня привилегий, то ОС программными средствами может обеспечить любое количество привилегий (в процессорах Intel 4 уровня привилегий).
Монолитные и многоярусные ядра
Монолитное ядро – разбиение на модули внутри ядра и каждый модуль соединяется (по связям) с каждым. Одно адресное пространство, полносвязные модули.
«+» - быстродействие
«-» - не масштабируемая система, т.к. изъятие одного модуля изменяет и другие; ограниченность ресурсов. Пример: MS-DOS.
Многоярусное ядро – каждый модуль работает только с модулями своего слоя или с модулями ниже него.
Функции каждого из слоев являются примитивами для более высоких слоев.
«+» - масштабируемость;
«-» - требуется больше ресурсов (всех).
Появляются слои, которые функционально ничего не делают (речь идет о статических ресурсах), запрос не может миновать ни один из уровней, но бывают исключения. Примеры: большинство ОС общего назначения – UNIX подобные, OS/2, NetWare, исполнительная система Windows.