Таблицу занятости единиц ресурса, которая указывает имена процессов, занимающих каждый ресурс.
Имя класса ресурса
Распределение ресурсов между процессами (вычислительными задачами).
Управление доступа к ресурсам со стороны внешних устройств и программ;
Основной задачей планирования для распределения ресурсов в вычислительной системе, в том числе в УК средства связи, является задача. Задача – это независимая единица (блок) вычислений, которая обладает собственными ресурсами и представляет собой реализацию процессов пользователя программного обеспечения средства связи. Типовой задачей является, например, реализация процесса обработки вызовов. Описание задачи, содержащее состав требуемых ресурсов, время работы задачи и другие условия выполнения, составляются пользователем/разработчиком и входят в состав задачи. Задача состоит из одного или нескольких процессов. В результате выполнения задачи реализуется требуемая функция средства связи.
Под процессом в общем понимается последовательность действий или процедур, необходимых для реализации той или иной задачи средства связи, предписанных у исполнению соответствующим алгоритмом. В более общем плане, процесс есть работа, производимая SISD-процессором при выполнении программы с данными. Это означает, что процесс является результатом взаимодействия процессор – загружаемая программа. Одна программа или система программ может порождать несколько процессов, каждый из которых работает над своим набором данных. К примеру, коммутационная программа, решающая задачу коммутации входа и выхода, может порождать процесс поиска свободного соединительного пути в коммутационное поле, процесс маршрутизации вызова, процесс занятия требуемых канальных временных интервалов между входом и выходом для соединения.
Итак, процесс использует ресурсы и поэтому является одной из единиц для планирования распределения вычислительных заданий в многопроцессорной системе. В составе процесса на уровне операционной системы выделяют один или несколько потоков управления данными или командами. Поток можно рассматривать как минимальную «единицу выполнения» или «единицу планирования» (scheduling). Потоки могут выполняться независимо друг от друга, что встречается достаточно редко. Гораздо чаще, для одновременного выполнения нескольких потоков требуется взаимодействие и синхронизация между ними, для чего в составе ОС применяются специальные службы и механизмы. Потоки могут создаваться и уничтожаться динамически, их количество внутри процесса может изменяться в зависимости от интенсивности и характера вычислительных задач.
Следует отметить, что более «узким» трактованием понятия «процесс» является выполняемое МПр программное приложение с собственным виртуальным адресным пространством, программным кодом, используемыми данными и другими ресурсами операционной системы, такими как файлы.
Процессы могут находиться в последовательно сменяющих друг друга состояниях:
§ Выполнение (активное состояние) – процесс непосредственно исполняется МПр.
§ Ожидание (пассивное состояние) – процесс заблокирован по внутренним, по отношению к процессу, причинам; для его запуска на исполнение должно наступить некоторое событие, например таймер выдержки времени устанавливается в 0.
§ Готовность (пассивное состояние) – процесс заблокирован по внешним по отношению к процессу причинам; например МПр временно занят выполнением других процессов.
Каждый процесс характеризуется своим описанием, которое называется дескриптором. Дескриптор – служебное машинное слово, которое создается специальной программной процедурой перед выполнением процесса на основе описания задачи и информации, имеющейся в программе, загружаемой в МПр. Дескрипторы хранятся в системной области памяти МПр и используются во время работы процесса. Уничтожение процесса вызывает также и уничтожение дескриптора. Дескриптор содержит описание идентификатора процесса, сведения о состоянии процесса, данные о приоритете процесса, место нахождения в физической памяти машинного кода, реализующего процесс, информация о ресурсах, которыми процесс может пользоваться (например, открытые файлы, устройства ввода/вывода). Процессы могут объединяться в очереди с определенной дисциплиной обслуживания, например «первый пришел – первый ушел» FIFO (fist input, fist out).
Очереди процессов представляют собой дескрипторы отдельных процессов, объединенные в списки. Таким образом, каждый дескриптор, кроме перечисленной выше информации, содержит по крайней мере один указатель на другой дескриптор, соседствующий с ним в очереди. Также дескрипторы формируются для ресурсов и классов ресурсов. В класс объединяются однотипные ресурсы. Дескриптор класса ресурсов создается операционной системой и обычно содержит следующие компоненты:
2. Состав ресурса, например: число процессоров в системе; число сегментов, страниц основной памяти.