Ett dödlägesfel är en situation där en process eller ett program inte kan starta eftersom resursen den behöver används av en annan process eller ett annat program.
Med andra ord, de processer eller program som redan använder respektive resurser hindrar andra processer från att komma åt dem. Den enda lösningen för att lösa detta problem är att frigöra resurserna.
Deadlock-fel är specifika för operativsystem där flera processer kräver åtkomst till samma resurser. Två eller flera processer kan ibland komma i konflikt om samma resurs.
När en process inte kan komma åt de resurser den behöver för att fungera korrekt, går den automatiskt in i ett vänteläge. Om resurserna förblir blockerade kommer processerna inte att starta. Väntetillståndets varaktighet är dock ofta begränsad. Om systemresurserna förblir otillgängliga slutar väntan och processen som inte startade skickar ett felmeddelande.
En enkel analogi
Bild två bilar som kommer mot varandra på en enfilig väg. Bilarna kan inte röra sig när de väl står framför varandra. Något liknande händer när en process väntar på en resurs som förvärvats av ett annat program.
Deadlock-fel i Windows 10
Här är några snabba exempel på dödlägesfel i Windows 10:
- Ett annat program använder den här filen.
- Dokumentet används av en annan applikation och kan inte nås.
- Filen används av ett annat program/process/användare.
Vissa av er kanske redan är bekanta med dessa fel. Vi täckte också några av dem här på Technipages:
- Fix Denna enhet väntar på att en annan enhet ska starta
- Windows 10: Ett annat program använder för närvarande den här filen
Som du kan se indikerar alla dessa felexempel att ett annat program använder filen (resursen, om du så vill). Som ett resultat, om ett andra program begär åtkomst till den filen, nekas tillstånd.
⇒ Visste du det?
Windows 10 använder Driver Verifier för att upptäcka låsningar. Microsoft erbjuder också ett verktyg som heter Applikationsverifierare som ingår i Windows Software Development Kit. Verktyget analyserar program medan de körs för att upptäcka potentiella design- eller exekveringsbrister som kan orsaka dödlägen.
Hur man förhindrar dödlägesfel
Två av de enklaste sätten att undvika dödlägesfel består av:
- Lägga till flera instanser av samma resurstyp.
- Tillåta processer att dela resurser med andra processer.
Dessa lösningar är dock inte alltid möjliga på vissa datorkonfigurationer.