Лекция: Тупики в ОС.
Тупик (клинч, дедлок) — ситуация, которая никогда не разрешится, т.е. процесс ждет ресурса, но он ему не будет выделен.
ОС в состоянии тупика («зависание») — когда несколько процессов находятся в состоянии тупика.
Простая тупиковая ситуация в ОС:
Пусть имеются 2 процесса A и B, которым перед началом работы предоставлены ресурсы P1 и P2 соответственно. В какой-то момент времени процессу A понадобился P2, а процессу B — P1, но они их не получат, т.к. они удерживаются предыдущими процессами => наступила простая тупиковая ситуация в ОС.
Правила предотвращения тупиков в ОС:
- Прежде чем процесс начнет свою работу, ему должны быть предоставлены все требуемые ресурсы.
- В том случае, если во время работы ему понадобился дополнительный ресурс, ему необходимо возвратить все ранее выделенные ресурсы ОС и затем запросить все требуемые ресурсы с этим дополнительным ресурсом.
Бесконечное откладывание процесса.
В системе, где процессам приходится ждать пока она выделит ему требуемый ресурс может возникнуть ситуация, что будут приходить процессы с более высоким приоритетом, требующие тот же самый ресурс — ситуация бесконечного откладывания процесса.
В некоторых ОС данная ситуация предотвращается благодаря увеличению приоритетности («старению» процесса) для того, чтобы ему был предоставлен требуемый ресурс, после чего приоритет понижается до прежнего ур
№7