Co to jest głód?

W systemach wielozadaniowych niektóre nieprawidłowe warunki uniemożliwiają wykonywanie procesów lub wątków. Będę odwoływać się do obu procesów i wątków po prostu jako „procesy”. Dwa z tych warunków nazywane są martwym zamkiem i blokadą na żywo.

Pierwsza odnosi się do procesów, które blokują się wzajemnie, uniemożliwiając tym samym wykonanie. Ta ostatnia odnosi się do procesów, które uniemożliwiają sobie wzajemne postępy, ale w rzeczywistości nie blokują wykonania. Na przykład mogą nieustannie powodować wzajemne wycofywanie transakcji, nie będąc w stanie ich ukończyć.

Inny warunek jest znany jako głód zasobów, w którym jeden lub więcej skończonych zasobów, wymaganych do postępu procesów, zostały przez nie wyczerpane i nie można ich przywrócić, chyba że procesy postępują. Jest to także specjalny przypadek blokady na żywo.

Chciałbym wiedzieć, czy istnieje jakakolwiek inna definicja, szczególnie akademicka, dla „głodu”, która nie ogranicza się do „głodu zasobów”. Referencje są szczególnie mile widziane.

I nie, to nie jest praca domowa. :-)

questionAnswers(6)

yourAnswerToTheQuestion