Hur kan min dator starta om sig själv?
Det är en sådan gemensam platsaktivitet som de flesta av oss troligtvis aldrig slutat att ens tänka på: den automatiska omstarten. Oavsett om användaren eller programmet initieras, vad händer exakt när datorn cyklar sin egen kraft?
Dagens Question & Answer-session kommer till oss med tillstånd av SuperUser-en indelning av Stack Exchange, en community-drive-gruppering av Q & A-webbplatser.
Frågan
SuperUser-läsaren Seth Carnegie undrar om datorns strömhantering:
Hur kan en dator starta om sig själv? När det är klart, hur berättar det sig att återkomma igen? Vilken typ av programvara är det som kan göra detta?
Hur verkligen? Vilken kombination av mjukvara / hårdvarukunskap gör det hänt?
Svaret
SuperUser-bidragsgivaren Jcrawfordor erbjuder både ett komplicerat och detaljerat svar på frågan som mer än tillräckligt adresserar frågan:
Den för långa, läste inte det svara: Strömtillstånd i din dator styrs av en implementering av ACPI (avancerat konfigurations- och strömgränssnitt). I slutet av en avstängningsprocess anger ditt operativsystem ett ACPI-kommando som indikerar att datorn ska starta om. Som svar återställer moderkortet alla komponenter med sina respektive återställningskommandon eller linjer, och följer sedan bootstrap-processen. Moderkortet slår aldrig av, det återställer bara olika komponenter och uppträder då som om strömknappen bara har tryckts.
Lång och rambling men (enligt min mening) mer intressant svar:
Soft Power och hur det fungerar
Under de gamla tiderna (okej, till en universitetsstudent som jag var 90-talet för länge sedan) hade vi AT (Advanced Technology) moderkort med Vid makten förvaltning. AT-kraftsystemet var väldigt enkelt. Strömknappen på din dator var en hårdvara växel (förmodligen i baksidan av fallet) och din 120vac-ingång gick rakt igenom den. Det stängde fysiskt strömmen till strömförsörjningen till och från, och när den här strömmen var i Off-läge var allt i din dator helt död (det gjorde CMOS-batteriet väldigt viktigt eftersom det inte fanns någon strömförsörjning för att hålla hårdvaran klockan tickar). Eftersom strömbrytaren var en fysisk mekanism, fanns det ingen mjukvara för att slå på och av strömmen. Windows skulle visa det berömda meddelandet "Det är nu säkert att stänga av datorn" eftersom, trots att allt var parkerat och redo att stänga av, kunde det inte vara möjligt för operativsystemet att faktiskt vrida strömbrytaren. Denna konfiguration hänvisades ibland till hård kraft, eftersom det är all maskinvara.
Numera är sakerna olika, på grund av ATX-moderkortets underverk ATX-kraft (det är Advanced Technology eXtended om du håller spår). Tillsammans med ett antal andra framsteg (mini-DIN PS / 2, någon?) Tog ATX med sig mjuk ström. Mjuk ström betyder att strömmen till datorn kan styras av programvara. Detta medförde några importändringar:
- Standby-ström: Du kan ha sett en "5v SB" eller "5v standby" -kontakt märkt i strömförsörjningspinnen. De standby strömförsörjning är en 5v linje till moderkortet som alltid är på, även när datorn är avstängd. Därför är det viktigt att koppla bort eller stänga av en PSU-hårddisk (om sådan finns) när du servar moderna datorer, för även när den är av kan du eventuellt korta 5v SB och skada moderkortet. Det är också därför att CMOS-batterier inte längre är lika viktiga - 5V SB används för att ersätta CMOS-batteriet när strömförsörjningen har ström, så CMOS-batteriet används bara när du kopplar ur datorn helt. 5V SB-linjen tillåter viktigt att komponenter i din dator (framför allt BIOS och nätverksadaptrar) fortsätter att köra lite enkel programvara även när datorn är avstängd.
- Intelligent strömförsörjningskontroll. Om du tittar på en pinout för strömförsörjningens moderkort (P1) -kontakt, märker du två stift som vanligen är märkta PS_ON och PS_RDY. Dessa står för "strömförsörjning" och "strömförsörjning redo". Om du gillar att experimentera, ta en strömförsörjning inte i en dator, sätt in den och försiktigt korta en jordlinje (en av de svarta ledningarna) till PS_ON-linjen (den gröna ledningen). Strömförsörjningen syns synligt, med fläkten spinnas upp. Komponenterna i moderkortet som släpper ut + 5v SB slår på och av strömmen genom att ansluta ström till PS_ON-stiftet. Eftersom det finns några kondensatorer och andra komponenter i strömförsörjningen som tar en stund att ladda upp, kanske spänningarna från nätaggregatets huvudutgångar kanske inte är stabila omedelbart efter att PSU-enheten slås på. Det här är vad PS_RDY-stiftet är för, det slår på när strömförsörjningens interna logik bestämmer att strömförsörjningen är "klar" och ger stabil ström. Moderkortet väntar tills PS_RDY är på för att fortsätta starta upp.
Så, strömbrytaren slår inte längre på datorn. I stället är det anslutet till moderkortets grundläggande styrenheter, vilket upptäcker att knappen har tryckts och utför ett antal steg för att klara systemet, inklusive att lysa upp PS_ON så att strömmen kommer att vara tillgänglig. Strömknappen är inte det enda sättet att utlösa startprocessen, enheter på din expansionsbuss kan också göra det. Detta är viktigt eftersom dina Ethernet-nätverksadaptrar faktiskt stannar när datorn är avstängd och letar efter ett mycket specifikt paket som ofta kallas "Magic-paketet." Om de upptäcker det här paketet adresserat till MAC-adressen, kommer de att starta startprocessen . Så här fungerar "Wake-on-LAN" (WoL). Klockan kan också initiera en start (de flesta BIOS tillåter dig att ställa in en tid som datorn ska starta varje dag), och USB- och FireWire-enheter kan utlösa en start, även om jag inte är medveten om någon implementering av detta.
Förstå Power Control
Tja, jag förklarar Soft Power-saken både för att jag tycker att det är intressant (alltid en viktig orsak till att jag förklarar saker) och för att det låter dig förstå hur datorns ström och driftstatus är styrda av programvaran. I de flesta befintliga datorer är detta mjukvarusystem ett genomförande av Avancerat konfigurations- och strömgränssnitt, eller ACPI. ACPI är ett standardiserat, enhetligt system som tillåter programvara att styra datorns elsystem. Du kanske har hört talas om ACPI-strömtillstånd. Den grundläggande mekanismen för strömstyrning är dessa "strömtillstånd", ditt operativsystem växlar genom strömlägen genom att förbereda omkopplaren (avstängning / dvale processer som inträffar före strömmen sänder faktiskt bort) och sedan beordra moderkortet för att byta strömtillstånd . Strömtillstånden ser så här ut:
- G0: Arbeta (datorns "on" -status)
- G1: Sova (datorns vänteläge, uppdelad i S-substraten)
- S1: ström till CPU och RAM är kvar, men CPU kör inte instruktioner. Perifera enheter är avstängda.
- S2: CPU-avstängd, RAM-underhåll
- S3: Alla komponenter slås av förutom RAM och enheter som kommer att utlösa ett CV (tangentbord). När du säger att ditt OS ska "Sova", kommer det att stoppa processer och sedan mata in det här läget.
- S4: Viloläge. Absolut är allt avstängt. När du berättar för operativsystemet till viloläge, stoppar det processer, sparar innehållet i RAM till disk och går sedan in i det här läget.
- G2: Mjuk av. Det här är datorns "off" -stat. Strömmen är avstängd till allt utom enheter som kan utlösa en start.
- G3: Mekanisk avstängning.
Hur återställning sker faktiskt
Du kommer märka att omstart inte är en av dessa stater. Så vad händer faktiskt när din dator när den startar om? Svaret kan vara överraskande, för det är från ett kraftledningsperspektiv nästan inget. Det finns ett ACPI-återställningskommando. När du berättar om att operativsystemet startas om, följer det sin normala avstängningsprocess (stoppar alla dina processer, utför lite underhåll, avmonterar dina filsystem etc.) och sedan som ett sista steg, istället för att skicka maskinen till strömtillstånd G2 (som om du bara hade sagt det att stänga av) ställer det återställningskommandot. Detta kallas generellt "Återställningsregistret", för som det mesta av ACPI-gränssnittet är det bara en adress som ett specifikt värde ska skrivas till för att begära återställning. Jag citerar 2.0-specifikationen på vad den gör:
Den valfria ACPI-återställningsmekanismen anger en standardmekanism som ger en fullständig återställning av systemet. Vid implementering måste denna mekanism återställa hela systemet. Detta inkluderar processorer, kärnlogik, alla bussar och alla kringutrustning. Ur ett OSPM-perspektiv är hävningen av återställningsmekanismen den logiska ekvivalenten med maskincykeln. Efter att ha fått kontroll efter en återställning, utför OSPM åtgärder på samma sätt som en kallstart.
Så, när återställningsregistret är inställt, händer några saker i följd.
- All logik återställs. Detta innebär att de respektive återställningskommandona skickas till olika bitar av hårdvara, inklusive CPU, minneskontrollen, perifera styrenheter, etc. I de flesta fall betyder det helt enkelt att det lyser upp en fysisk RST-tråd, som AndrejaKo kom upp ovan.
- Därefter startas datorn. Detta är "utför åtgärder på samma sätt som en kallstart" del. Moderkortet utför samma steg som det skulle om strömförsörjningen hade blivit färdig efter att strömknappen pressats.
Slut effekten av dessa två steg (som faktiskt bryts ner i mycket fler steg) är att det ser ut som allt som datorn bara startade, men kraften var faktiskt hela tiden. Det betyder att det krävs mindre tid för att stänga av och starta (eftersom du inte behöver vänta på att strömförsörjningen ska bli klar), och det är viktigt att startupen startas av att operativsystemet stängs av. Det betyder att en annan startup trigger inte behöver användas (WoL etc), och låter dig använda Reboot som ett effektivt sätt att återställa systemet på distans när du inte har möjlighet att starta uppstart.
Det var ett långt svar. Men hej, förhoppningsvis vet du mer om datorns strömhantering nu. Jag har verkligen lärt mig några saker som undersöker detta.
.