Lukitusvirhe on tilanne, jossa prosessi tai ohjelma ei voi käynnistyä, koska sen tarvitsema resurssi on toisen prosessin tai ohjelman käytössä.
Toisin sanoen prosessit tai ohjelmat, jotka jo käyttävät vastaavia resursseja, estävät muita prosesseja pääsemästä niihin. Ainoa ratkaisu tämän ongelman ratkaisemiseksi on vapauttaa resurssit.
Lukitusvirheet ovat ominaisia käyttöjärjestelmille, joissa useat prosessit vaativat pääsyn samoihin resursseihin. Kaksi tai useampi prosessi voi joskus joutua ristiriitaan samasta resurssista.
Kun prosessi ei pysty käyttämään resursseja, joita se tarvitsee toimiakseen kunnolla, se siirtyy automaattisesti odotustilaan. Jos resurssit pysyvät estettyinä, prosessit eivät käynnisty. Odotustilan kesto on kuitenkin usein rajoitettu. Jos järjestelmäresurssit eivät ole käytettävissä, odotus päättyy ja prosessi, joka ei käynnistynyt, antaa virheilmoituksen.
Yksinkertainen analogia
Kuvaa kaksi autoa, jotka tulevat toisiaan vastaan yksikaistaisella tiellä. Autot eivät voi liikkua, kun ne ovat toistensa edessä. Jotain vastaavaa tapahtuu, kun prosessi odottaa toisen ohjelman hankkimaa resurssia.
Lukitusvirheet Windows 10:ssä
Tässä on joitain nopeita esimerkkejä umpikujavirheistä Windows 10:ssä:
- Toinen ohjelma käyttää tätä tiedostoa.
- Asiakirja on toisen sovelluksen käytössä, eikä sitä voi käyttää.
- Tiedosto on toisen ohjelman/prosessin/käyttäjän käytössä.
Jotkut teistä saattavat jo tuntea nämä virheet. Käsittelimme joitain niistä myös täällä Technipages-sivustolla:
- Korjaa tämä laite odottaa toisen laitteen käynnistymistä
- Windows 10: Toinen ohjelma käyttää tällä hetkellä tätä tiedostoa
Kuten näet, kaikki nämä virheesimerkit osoittavat, että toinen ohjelma käyttää tiedostoa (resurssia, jos haluat). Tämän seurauksena, jos toinen ohjelma pyytää pääsyä kyseiseen tiedostoon, lupa evätään.
⇒ Tiesitkö sen?
Windows 10 käyttää Kuljettajan varmentaja lukkiutumien havaitsemiseksi. Microsoft tarjoaa myös apuohjelman nimeltä Sovelluksen varmentaja joka sisältyy Windows Software Development Kit -pakettiin. Työkalu analysoi ohjelmia niiden ollessa käynnissä havaitakseen mahdolliset suunnittelu- tai suoritusvirheet, jotka voivat aiheuttaa lukkiutumia.
Kuinka estää lukkiutumisvirheet
Kaksi yksinkertaisinta tapaa välttää lukkiutumisvirheet ovat seuraavat:
- Useiden saman resurssityypin esiintymien lisääminen.
- Sallitaan prosessien jakaa resursseja muiden prosessien kanssa.
Nämä ratkaisut eivät kuitenkaan aina ole toteutettavissa tietyissä tietokonekokoonpanoissa.