Ресурсний голод
Ресурсний голод — проблема в інформатиці, що унеможливлює виконання процесом задачі, спричинена постійною відмовою в необхідних ресурсах.
Причиною відмови в ресурсах може бути:
- помилка в алгоритмі розподілу ресурсів;
- витік ресурсів;
- DoS-атака.
Часто причиною відмови в ресурсах може бути занадто простий алгоритм розподілу ресурсів. Наприклад, якщо планувальник завжди надає ресурс потоку з найвищим пріоритетом, то при достатньому навантаженні, потоки з низьким пріоритетом не отримають ресурс ніколи. І якщо потік з вищим пріоритетом залежить від результату роботи потоку з нижчим пріоритетом, то він незважаючи на свій пріоритет не зможе завершити задачу. Це називається перестановка пріоритетів.
Ресурсний голод подібний на взаємне блокування в тому, що виконання задачі призупиняється. Але при взаємному блокуванні кожен з потоків заблокував ресурс необхідний іншому; а при ресурсному голоді потік просто не отримує ресурс, що надається іншому потоку.
Приклади
- Задача філософів, що обідають — можливі алгоритми, при яких деякі філософи ніколи не зможуть пообідати.