Составители:
Замечание 3. Приведенные фрагменты, конечно, не отражают
полностью необходимый программный код, который может варьи-
роваться в значительной степени; они лишь служат для создания
общей схемы решения задачи о распределении ресурсов.
§10 Распределение ресурсов по методу
“кратчайшее задание”
Пусть разделяемый ресурс состоит из одного элемента. Распределе-
ние ресурса по методу “кратчайшее задание” состоит в следующем.
Предположим, что несколько процессов находятся в конку-
рентной борьбе за разделяемый ресурс, причем запрос ресурса про-
цессом производится операцией request(time, id), где целочислен-
ный параметр time определяет приоритет запроса (чем меньше
time, тем выше приоритет), а параметр id идентифицирует про-
цесс.
Если ресурс свободен, то он выде ляется процессу с идентифи-
катором id немедленно; в противном случае упомянутый процесс
приостанавливается.
Освобождение ресурса, захваченного процессом, происходит с
помощью операции release.
Освобожденный ресурс тут же отдается приостановленному
процессу с наименьшим значением параметра time (если такие про-
цессы имеются). В том же случае, когда указанное значение time
оказалось наименьшим у нескольких процессов, то ресурс отдается
тому, кто ждал дольше всех.
В частности, параметр приоритета time может являться пред-
полагаемым временем работы процесса с затребованным ресурс ом
(в некоторых случаях можно определить даже точное значение та-
кого времени, а в других случаях время time может быть указано
ориентировочно).
Замечание 1. Если time — время работы процесса с ресурсом,
то метод “кратчайшее задание” часто минимизирует затраты вре-
мени на выполнение всей задачи.
Замечание 2. Рассматриваемый метод в чистом виде не явля-
ется справедливым, ибо при наличии потока запросов с малым зна-
чением time, некоторые запр осы с б´ольшим значением time могут
100
Страницы
- « первая
- ‹ предыдущая
- …
- 97
- 98
- 99
- 100
- 101
- …
- следующая ›
- последняя »