Понятие вычислительного процесса и ресурса

Понятие операционной среды

Назначение операционной системы:
— управление вычислительными процессами в вычислительной системе;
— распределение ресурсов вычислительной системы между различными вычислительными процессами;
— образование программной (операционной) среды, в которой выполняются прикладные программы пользователей.

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

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

Понятие вычислительного процесса и ресурса

Последовательный процесс («задача») – выполнение отдельной программы с ее данными на последовательном процессоре. Процессор имеет два аспекта:
— носитель данных;
— исполнитель операций, связанных с обработкой данных.

С процессом связано понятие ресурса. Термин ресурс относится к используемым, относительно стабильным и часто недостающим объектам, которые запрашиваются, используются и освобождаются процессами в период их активности.
Ресурсы могут быть:
— разделяемыми;
— неделимыми.

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

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

Процесс может находиться:
— в активном состоянии, может участвовать в конкуренции за использование ресурсов вычислительной системы;
— в пассивном состоянии, известен системе, в конкуренции не участвует.

Активный процесс может находиться в одном из следующих состояний:
— выполнения, когда все затребованные ресурсы выделены. В состоянии выполнения может находиться только один процесс (для однопроцессорной системы);
— готовности к выполнению, когда ресурсы могут быть предоставлены и процесс перейдет в состояние выполнения;
— блокирования или ожидания, когда затребованные ресурсы не могут быть предоставлены или не завершена операция ввода/вывода.

За время существования процесс может неоднократно совершать переходы из одного состояния в другое. Это обусловлено:
— обращениями к операционной системе с запросами ресурсов;
— выполнением системных функций;
— взаимодействием с другими процессами;
— появлением сигналов прерывания от таймера, каналов и устройств ввода/вывода и других устройств.
Процесс из состояния бездействия в состояние готовности может перейти в следующих случаях:
— по команде оператора (пользователя) в диалоговых ОС, где программа может иметь статус задачи, а не просто быть исполняемым файлом и только на время исполнения получит статус задачи (ОС на ПК);
— при выборе из очереди планировщиком;
— по вызову из другой задачи (посредством обращения к супервизору один процесс может создавать, инициировать, приостановить, остановить или уничтожить другой процесс);
— по прерыванию от внешнего «инициативного» устройства;
— при наступлении запланированного времени запуска программы.

Процесс, который может исполняться, как только ему будет предоставлен процессор, находится в состоянии готовности, все ресурсы, за исключением процессора, ему выделены.
Из состояния выполнения процесс может выйти по одной из следующих причин:
— процесс завешается, при этом он посредством обращения к супервизору передает управление ОС и сообщает о своем завершении. Супервизор уничтожает процесс или переводит его в список бездействующих процессов. В состояние бездействия процесс может быть переведен принудительно по команде оператора или путем обращения к супервизору другой задачи, требующей остановить данный процесс;
— процесс переводится супервизором ОС в состояние готовности к исполнению в связи с появлением более приоритетной задачи или в связи с окончанием выделенного ему кванта времени;
— процесс блокируется из-за невозможности предоставить ему ресурс или вследствие запроса ввода/вывода, а также по команде оператора на приостановку задачи.

Процесс деблокируется и переводится в состояние готовности к исполнению при наступлении соответствующего события:
— завершение операции ввода/вывода;
— освобождение затребованного ресурса;
— загрузка в оперативную память страницы виртуальной памяти и т.д.

Предпосылками изменения состояния процесса являются события. Один из основных видов событий – прерывания.

Computing a theory of everything | Stephen Wolfram


Похожие статьи.

Понравилась статья? Поделиться с друзьями: