/ / Hvordan vet en datamaskin når den ikke ble slått av riktig?

Hvordan vet en datamaskin når den ikke ble slått av riktig?

Når du starter datamaskinen etter en feilaktig avslutning / systemkrasj, vil det vanligvis foreslå handlinger som å starte opp i sikker modus og kjøre en diskkontroll. Hvordan vet datamaskinen at den krasjet?

Dagens spørsmål & svar-økt kommer til oss med tillatelse fra SuperUser - en underavdeling av Stack Exchange, en samfunnsdrivende gruppe av spørsmål og svar på nettsteder.

Spørsmålet

SuperUser-leser FrozenKing vil vite hvordan datamaskinen hans vet når den har krasjet eller på annen måte har fått en feilaktig avslutning. Han skriver:

Egentlig slo dette spørsmålet meg på grunn av strømbrudd i huset mitt. Når det er strømbrudd, oppstår det plutselig strøm fra datamaskinen.

Hvordan vet datamaskinen at nedleggelsen ikke ble utført ordentlig?

Det er et interessant spørsmål; helt klart moderne operativsystemer er godt klar over at noe har gått galt, men ved hvilken mekanisme blir de gjort oppmerksomme?

Svarene

SuperUser-bidragsyter David Schwartz tilbyr et generelt svar og innsikt i forskjellige operativsystemer:

For ikke-Windows-baserte PCer er detekteringenvanligvis utført per filsystem. Når et filsystem er montert i lese / skrivemodus, skrives det en oppføring til filsystemet som markerer det skittent. Når filsystemet demonteres, skrives det en oppføring som markerer det rent. Ved oppstart sjekker operativsystemet om kjernefilsystemene er merket som skitne, og i så fall vet det at det ikke var en ren nedleggelse - i det minste av disse filsystemene.

En annen bidragsyter, ChrisF svarer mer spesifikt for Windows-operativsystemet:

Windows bruker også Dirty Bit-metoden for å oppdage om PCen ble slått av ordentlig:

Når den er slått av som normalt, er biten slått av. I tilfelle strømbrudd eller feil (tvungen) nedleggelse vil imidlertid biten fortsatt være på neste gang PC-en startes.

Dette betyr at Windows kan foreslå utbedring - for eksempel å starte opp i sikkermodus.

I tillegg vil en Windows-basert PC skrive en oppføring i hendelsesloggen som beskriver når og hvorfor (hvis kjent) den ble stengt. Det skriver også en hendelse når PC-en starter opp.


Har du noe å legge til forklaringen? Lyd av i kommentarene. Vil du lese flere svar fra andre teknologikyndige Stack Exchange-brukere? Sjekk ut hele diskusjonstråden her.