Архитектура ОС. Макроядерные ОС. Ядро и слои ядра.

Под архитектурой принято понимать способы и организацию взаимодействия частей ОС.

Архитектура ОС:

Ø ОС с макроядром(многослойным ядром)

Ø Микроядерные ОС

 

Все модули ОС делятся на группы:

Ø Ядро ОС

Ø Модули расширения

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

Модули расширения- модули, выполняющие полезные, но не обязательные ф-ции.

Группы модульных расширений:

Ø Утилиты

Ø Программы, предоставляющие пользователю дополнительные услуги.

Ø Библиотеки процедур различного назначения.

Организация многослойного ядра:

1- аппаратура

2- средства аппаратной поддержки

3- слой ядра, кот.взаимодейтвует со слоем 2. Задача- max экранировать остальные слои ядра.

4- базовые механизмы ядра –модули, выполняемые наиболее примитивные операции ядра. Моули этого слоя не принимают никаких решений, они выступают только как механизм реализации решений, принятых на внешних слоях ядра.

5- менеджеры (диспетчеры) ресурсов

6- интерфейс систем вызовов.

 

14. Микроядерная архитектура ОС.

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

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

15. Понятие вычислительного процесса. Диаграмма состояния процесса.

Процесс – работа, выполняемая центральным процессором при выполнении программы и обработке ее данных.

Процессы могут быть «родственными» (процессы-«родители» и процессы-«потомки»). Процессы-«потомки» наследуют большую часть свойств «родителей».

Процессы делят на зависимые и независимые. Процессы называются независимыми, если развитие одного из них никак не влияет на развитие другого. Процессы называются зависимыми, если развитие или результат выполнения одного из них влияет на работу другого процесса.

Процессы-«родители» и процессы-«потомки» могут быть как зависимыми, так и независимыми. В первом случае аварийное завершение процесса-«родителя» приводит к полному завершению всех процессов-«потомков», во втором аварийное завершение «родителя» никак не сказывается на «потомках».

Каждый процесс в системе может находиться в одном из 3-х состояний:

4) активном,

5) готовности,

6) заблокированном.

Активный процесс выполняется в текущий момент времени центральным процессором.

Состояние готовности (в многозадачных операционных системах) – есть все ресурсы, кроме центрального процессора.

Заблокированный процесс – процесс, которому не хватает какого-либо ресурса, отличного от центрального процессора.

 

16. Понятие ресурса в ВС, виды ресурсов, методы учета.

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

Группы ресурсов:

Ø Повторно используемые ресурсы

Ø Потребляемые ресурсы

Повторно используемые ресурсы – ресурсы, которые могут быть возвращены в систему, для неоднократного использования(память).

· Закрепленные – ресурс, кот.в текущий момент времени может принадлежать только 1 процессу.

· Разделяемые – ресурс, кот. в текущий момент времени разделен(может использоваться) несколькими процессами.

Потребляемые ресурсы-ресурсы, кот. не возвращаются в систему и не используются повторно.(чернила, время работы)

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

Дискриптер ресурса должен содержать как min 3 обязательных раздела:

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

· Опись доступности ресурса содержит информацию, описывающую систему учета ресурса. Адреса программ распределения и освобождения ресурсов.

· Список ожидающих процессов – создает список процессов, заблокированных из-за отсутствия или недостатка ресурса.