? Самый простой случай: каждый из двух процессов ожидает ресурс, занятый другим процессом, ни один из процессов не может продолжить исполнение и освободить ресурс, необходимый другому процессу.
? Эта ситуация называется тупиком, дедлоком, или клинчем.
Ресурсы системы разделяют на два класса:
• повторно используемые (Reusable Resource, RR), или системные (System Resource, SR), ресурсы;
• потребляемые, или расходуемые, ресурсы (Consumable Resource, CR).
? Системные ресурсы (SR) — конечное множество идентичных единиц некоторого вида ресурсов, обладающих свойствами:
• число единиц ресурса в системе неизменно;
• каждая единица ресурса либо доступна, либо выделена одному и только одному процессу;
• процесс может освободить единицу ресурса (сделать ее доступной), только если он ранее получил эту единицу.
? Особенности расходуемых ресурсов (CR):
• число доступных единиц некоторого ресурса типа CR изменяется по мере того, как выполняющимися процессами они расходуются (приобретаются) и освобождаются (производятся);
• процесс «потребитель» уменьшает число единиц ресурса, сначала запрашивая и затем приобретая (потребляя) одну или более единиц.
? Для исследования параллельных процессов и проблемы тупиков было разработано несколько моделей. Одна из них — модель повторно используемых ресурсов Холта. Согласно этой модели система представляется как набор (множество) процессов и набор ресурсов, каждый из ресурсов состоит из фиксированного числа единиц. Любой процесс может изменять состояние системы путем выдачи запроса на получение или освобождение единицы ресурса.
? В графической форме процессы и ресурсы представляются квадратами и кружками соответственно. Каждый кружок содержит некоторое количество маркеров (фишек) в соответствии с существующим количеством единиц этого ресурса.
? Дуга из «процесса» на «ресурс» означает запрос одной единицы этого ресурса. Дуга из «ресурса» на «процесс» — выделение ресурса процессу.
? Т.к. каждая единица ресурса типа SR может быть выделена одновременно не более чем одному процессу, то число дуг из ресурса к различным процессам не может превышать общего числа единиц этого ресурса. Такая модель называется графом повторно используемых ресурсов.
? Удовлетворение запроса Пр1 приведет к тупиковой ситуации: Пр1 не сможет продолжиться до тех пор, пока Пр2 не освободит единицу ресурса R1, а процесс Пр2 не сможет продолжиться до тех пор, пока Пр1 не освободит единицу R2.
37. Примеры тупиковых ситуаций и причины их возникновения
? Пример тупика на ресурсах типа CR
Операционные системы, среды и оболочки
? Самый простой случай: каждый из двух процессов ожидает ресурс, занятый другим процессом, ни один из процессов не может продолжить исполнение и освободить ресурс, необходимый другому процессу.
? Эта ситуация называется тупиком, дедлоком, или клинчем.
Ресурсы системы разделяют на два класса:
• повторно используемые (Reusable Resource, RR), или системные (System Resource, SR), ресурсы;
• потребляемые, или расходуемые, ресурсы (Consumable Resource, CR).
? Системные ресурсы (SR) — конечное множество идентичных единиц некоторого вида ресурсов, обладающих свойствами:
• число единиц ресурса в системе неизменно;
• каждая единица ресурса либо доступна, либо выделена одному и только одному процессу;
• процесс может освободить единицу ресурса (сделать ее доступной), только если он ранее получил эту единицу.
? Особенности расходуемых ресурсов (CR):
• число доступных единиц некоторого ресурса типа CR изменяется по мере того, как выполняющимися процессами они расходуются (приобретаются) и освобождаются (производятся);
• процесс «потребитель» уменьшает число единиц ресурса, сначала запрашивая и затем приобретая (потребляя) одну или более единиц.
? Для исследования параллельных процессов и проблемы тупиков было разработано несколько моделей. Одна из них — модель повторно используемых ресурсов Холта. Согласно этой модели система представляется как набор (множество) процессов и набор ресурсов, каждый из ресурсов состоит из фиксированного числа единиц. Любой процесс может изменять состояние системы путем выдачи запроса на получение или освобождение единицы ресурса.
? В графической форме процессы и ресурсы представляются квадратами и кружками соответственно. Каждый кружок содержит некоторое количество маркеров (фишек) в соответствии с существующим количеством единиц этого ресурса.
? Дуга из «процесса» на «ресурс» означает запрос одной единицы этого ресурса. Дуга из «ресурса» на «процесс» — выделение ресурса процессу.
? Т.к. каждая единица ресурса типа SR может быть выделена одновременно не более чем одному процессу, то число дуг из ресурса к различным процессам не может превышать общего числа единиц этого ресурса. Такая модель называется графом повторно используемых ресурсов.
? Удовлетворение запроса Пр1 приведет к тупиковой ситуации: Пр1 не сможет продолжиться до тех пор, пока Пр2 не освободит единицу ресурса R1, а процесс Пр2 не сможет продолжиться до тех пор, пока Пр1 не освободит единицу R2.
37. Примеры тупиковых ситуаций и причины их возникновения
? Пример тупика на ресурсах типа CR
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
Свежая информация прокат гидроциклов на сайте.