Монолитные и многоярусные ядра

Функциональные компоненты локальной ОС

 

  • Система управления процессами;
  • Система управления памятью;
  • Подсистема ввода/вывода;
  • Система администрирования – защита данных;
  • Множественные среды – для взаимодействия с ПО.

 

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

Прикладной программист взаимодействует с ОС с использованием интерфейса 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.