Составители:
§9 Задача распределения ресурсов и общая схе-
ма ее решения
Задача о распределении ресурсов — это задача о предоставлении
доступа каждому процессу к тому или иному ресурсу в тот или
иной момент времени.
Ресурсом может служить любой разделяемый процессами объ-
ект: область памяти (база данных, переменные, ячейка буфера),
принтер или какое-либо другое устройство, а также некоторые раз-
деляемые программные единицы, например, критические секции.
Простейшая схема распределения ресурсов состоит в том, что
если некоторый процесс хочет захватить ресурс, и
1) если ресурс свободен и больше нет желающих, то процесс
его захватывает;
2) если ресурс занят, то процесс ожидает его освобождения;
3) если ресурс свободен и еще несколько процессов хотят за-
хватить ресурс, то ресурс предоставляется (недетерминированно)
одному из желающих; при этом остальные процессы ждут его осво-
бождения.
Более сложная схема использования ресурса сводится к раз-
личным способам учета дополнительных обстоятельств:
— способа использования ресурса (например, запис ь или чтение
при работе с памятью),
— приоритета процесса в конкурентной борьбе пр и захвате
ресурса и т.п.
Различные модификации упомянутой простейшей схемы мо-
гут допускать использование ресурса несколькими процессами од-
новременно ил и в недетерминированной последовательности; могут
быть введены специальные средства для поддержания “справедли-
вой стратегии” обслуживания процессов.
Замечание 1. Разделяемый ресурс может распадаться на
несколько элементов, за обладание которыми идет конкурентная
борьба между процессами. В некоторых случаях процессам могут
быть нужны наборы элементов, причем разным процессам — воз-
можно, разные наборы таких элементов. Есл и процессу потребо-
вался некоторый набор этих э ле мен тов, то может оказаться, что
часть этих элементов занята: процесс вынужден приостановиться.
После освобождения нужных ему элементов процесс их захватыва-
97
Страницы
- « первая
- ‹ предыдущая
- …
- 94
- 95
- 96
- 97
- 98
- …
- следующая ›
- последняя »