Порядок выделения ресурсов
Вычислительный процесс может находиться в активном или пассивном состоянии. Состояние процесса пассивное, когда он не заявляет своих требований на ресурсы системы. При этом процесс хранится в системе (во внешней либо оперативной памяти системы) и, соответственно, известен ей.
При нахождении в активном состоянии процесс выставляет требования на использование ресурсов вычислительной системы. В зависимости от того выделены ли процессу ресурсы или нет, активный процесс может находиться на стадии готовности к выполнению, выполнения и ожидания.
Стадия готовности к выполнению возникает:
- при активации процесса, т.е. при переходе из пассивного состояния в активное состояние, когда процесс выставил свои требования на ресурсы системы, но они не могут быть удовлетворены в объеме, необходимом для начала выполнения процесса,
- при выполнении процесса, когда у процесса отобран один наиболее важный ресурс – процессорное время (для диск-резидентных процессов еще и оперативная память),
- при переходе из стадии ожидания, когда приостановленному ранее процессу частично возвращены отобранные ресурсы или частично выделены дополнительные ресурсы, за исключением процессорного времени и (или) оперативной памяти для диск-резидентных процессов, причина приостановки процесса устранена.
К стадиивыполнения процесс переходит, когда все ресурсы, необходимые для его выполнения, выделены системой.
Если процесс потребовал ресурсы, которые не могут быть немедленно выделены, или выполнение процесса приостанавливается извне, то процесс переводится в режим ожидания.
Выделение ресурсов производится в следующем порядке. В случае возникновения потребности в каком-либо ресурсе задача обращается к супервизору операционной системы, указывая вид ресурса и, если надо, его объем и передавая, при этом, управление супервизору.
Реакция супервизора на полученный запрос может быть следующая:
1) выделение ресурса задаче и возврат ей управления,
2) постановка задачи в очередь к требуемому ресурсу, переводя ее в состояние ожидания.
Супервизор выделяет ресурс задаче в следующих случаях:
- ресурс свободен и в системе нет запросов к нему от задач более высокого приоритета;
- ресурс является разделимым и допускает совместное свое использование различными задачами;
- ресурс используется задачей низшего приоритета и может быть временно отобран для выполнения данной задачи.
После окончания работы с ресурсом задача опять с помощью специального вызова супервизора сообщает операционной системе об отказе от ресурса. Супервизор операционной системы, получив управление по этому обращению, освобождает ресурс и проверяет, имеется ли очередь к освободившемуся ресурсу. Если очередь есть, он выводит из состояния ожидания задачу, ждущую ресурс, и переводит ее в состояние готовности к выполнению. После этого управление передается той задаче, которой выделены все требуемые ресурсы.
За время своего существования процесс может неоднократно совершать переходы из одного состояния в другое.
Из пассивного состояния процесс может перейти в состояние готовности в следующих случаях:
- по команде оператора;
- при выборе из очереди;
- по вызову из другой задачи;
- при наступлении запланированного времени запуска программы.
Из состояния выполнения процесс может выйти по одной из следующих причин:
- процесс завершается, при этом он посредством обращения к супервизору передает управление операционной системе и сообщает о своем завершении. В результате этих действий супервизор переводит его в список пассивных процессов.
- команды оператора или обращения к супервизору из другого процесса с требованием остановить данный процесс;
- процесс переводится супервизором операционной системы в состояние готовности к исполнению в связи с появлением более приоритетной задачи или в связи с окончанием выделенного ему кванта времени;
- процесс переводится в состояние ожидания окончания операции ввода/вывода либо в силу невозможности предоставить ему ресурс, запрошенный и настоящий момент, а также по команде оператора на приостановку задачи или по требованию через супервизор от другой задачи.
При наступлении соответствующего события (завершилась операция ввода/вывода, освободился затребованный ресурс, в оперативную память загружена необходимая страница виртуальной памяти и т. д.) процесс переводится в состояние готовности к исполнению.
Дата добавления: 2022-02-05; просмотров: 79;