Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
[2 курс] Операционные системы.docx
Скачиваний:
15
Добавлен:
20.08.2020
Размер:
218.45 Кб
Скачать

Задачи, процессы и ресурсы

ПРОГРАММА

Единица работы для выполнения которой выделяется центральный процессор

НАБОР ДАННЫХ

Задача

Задача

Носитель данных и операций по их обработке.

Обычно процесс считается последовательным.

Задача 1

Задача 2

Задача N

=

Дескриптор процесса

Процесс

PID – номер процесса

Тип (класс) процесса

Приоритет выделения ресурсов

Переменная состояния

Контекст задачи или его адрес

РЕСУРСЫ (обеспечивающие элементы)

=

Параметры запуска

Адрес области ОЗУ, выделенной для обмена данными и сигналами с другими процессами

Адрес постоянного местонахождения в ОЗУ

Адрес временной выгрузки на диск

Диаграмма состояния процесса

Готовность – все ресурсы могут быть предоставлены, если процесс перейдет в состояние выполнения;

Выполнение – все ресурсы выделены, происходит выполнение команд программы;

Ожидание – затребованные ресурсы не могут быть выделены или не завершена операция ввода-вывода.

Пассивное состояние (бездействие) характерно для систем реального времени.

Виды процессов

  • Системные управляющие процессы (процессы супервизора), занимающиеся распределением ресурсов и управлением;

  • Системные обрабатывающие процессы, не входящие в ядро операционной системы, требующие ресурсы и получающие их от супервизора

  • Процессы, порожденные задачами пользователей

Ресурсы

Ресурс – это абстрактная структура, имеющая множество атрибутов, характеризующих способы доступа к ресурсу и его физическое представление в системе.

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

Ресурс может быть выделен задаче операционной системой в трёх случаях:

  • ресурс свободен и в системе нет запросов на него от задач с более высоким приоритетом;

  • текущий запрос и ранее выданные запросы позволяют совместное использование ресурса;

  • ресурс используется задачей с более низким приоритетом и может быть временно у неё отобран.

Системные и программные модули являются одним из видов ресурсов.

Непривилегированные Привилегированные Реентабильные Повторно входимые

Модули, используемые однократно не могут быть повторно использованы, потому что у них портится программный код. Это возможно потому, что любой исполняемый модуль храниться в оперативной памяти в момент исполнения. Такие модули не могут быть разделяемыми ресурсами.

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

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

Реентабельные модули допускают прерывание выполнения, однако сохраняют все необходимые данные в свободной памяти как динамические данные или как статические данные в секции памяти, выделенной модулю. Реентабельный модуль, как и привилегированный, состоит из трёх секций. Головная секция является привилегированным модулем и заказывает у операционной системы память для хранения всех промежуточных результатов вычислений. Тело реентабельного модуля работает в непривилегированном режиме и его выполнение может быть прервано в любой момент. После возврата из прерывания модуль продолжает работать, используя сохранённые данные. Хвостовая секция также работает в привилегированном режиме и освобождает память, заказанную головной секцией.

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