Nälkiintyminen (tietotekniikka)

Wikipediasta
Siirry navigaatioon Siirry hakuun

Nälkiintyminen (käännetty myös nääntyminen, engl. starvation) on tietotekniikassa tila, jossa prosessi tai säie ei pääse etenemään muiden prosessien tai säikeiden toiminnan takia[1].

Nälkiintyminen muistuttaa lukkiutumista, mutta eroaa siitä siten, että nälkiintyminen voi koskea vain yhtä prosessia, eikä ohjelmallista poissulkemista tai muita vastaavia lukkiutumisen yhteydessä mainittuja ehtoja ole annettavissa. Nälkiintymiseen riittää, jos on olemassa resurssi, jonka käytöstä (epäsuorasti) kilpaillaan. Tämä resurssi on usein itse suoritin, eli vaikka prosessilla on kaikki muut sen tarvitsemat resurssit, se nälkiintyy, jos sille ei anneta ajoaikaa.

Nälkiintyminen voi tulla vastaan myös ohjelmallisena ongelmana. Tällainen on kuvattuna esimerkiksi aterioivien filosofien ongelmassa, kun ensin on estetty lukkiutuminen.

Nälkiintymistä voidaan estää ohjelmallisesti pakottamalla esimerkiksi semaforien avulla haluttu käyttäytyminen. Myös vuoronnusmenetelmä voi olla sellainen, että se estää nälkiintymisen.

  1. Ilkka Haikala ja Hannu-Matti Järvinen: Käyttöjärjestelmät (luku 3). Talentum 2003. ISBN 951-762-837-4