/ / Hur kan min dator starta om sig själv?

Hur kan min dator starta om sig själv?

Det är en så vanlig platsaktivitet som de flesta av osshar troligen aldrig slutat att ens tänka på det: den automatiska omstarten. Oavsett om användare eller applikationsinitierade, vad händer exakt när din dator cyklar sin egen ström?

Dagens fråga & svar-session kommer till oss med tillstånd av SuperUser - en underavdelning av Stack Exchange, en gruppdrivna grupp av frågor och svar på webbplatser.

Frågan

SuperUser-läsaren Seth Carnegie undrar om datorns energihantering:

Hur kan en dator starta om sig själv? När den är avstängd, hur berättar den sig själv att komma tillbaka igen? Vilken typ av programvara är det som kan göra detta?

Hur verkligen? Vilken kombination av programvara / hårdvara magi får det att hända?

Svaret

SuperUser-bidragsgivaren Jcrawfordor erbjuder både ett kondenserat och detaljerat svar på frågan som mer än tillräckligt tar upp frågan:

Det för långa; läste inte svaret: Strömtillstånd i din dator styrs aven implementering av ACPI (avancerad konfiguration och kraftgränssnitt). I slutet av en avstängningsprocess ställer operativsystemet ett ACPI-kommando som indikerar att datorn ska starta om. Som svar återställer moderkortet alla komponenter med sina respektive återställningskommandon eller -rader och följer sedan bootstrap-processen. Moderkortet stängs aldrig av, det återställs bara olika komponenter och uppträder sedan som om strömbrytaren just har tryckts in.

Långt och pratande men (enligt min mening) mer intressant svar:

Mjuk kraft och hur det fungerar

Under de gamla dagarna (ja, okej, för en högskolestudent som jag på 90-talet var för länge sedan) hade vi AT (Advanced Technology) moderkort med ATT kraft förvaltning. AT-kraftsystemet var mycket, mycket enkelt. Strömbrytaren på din dator var en hårdvaruskoppling (antagligen bak i fallet) och din 120vac-ingång gick rätt igenom den. Det stängde och stängde av strömmen till din strömförsörjning fysiskt och när denna strömbrytare var i läge Av var allt i din dator helt död (detta gjorde CMOS-batteriet mycket viktigt, för utan den fanns det ingen strömförsörjning för att hålla hårdvaran klocka tickar). Eftersom strömbrytaren var en fysisk mekanism fanns det inget mjukvarusätt att slå på och stänga av strömmen. Windows skulle visa det berömda meddelandet "Det är nu säkert att stänga av din dator", även om allt var parkerat och redo att stängas av, det inte var möjligt för operativsystemet att faktiskt vända strömbrytaren. Ibland kallades denna konfiguration hård kraft, för det är allt hårdvara.

Numera är saker annorlunda på grund av ATX-moderkortets underverk och ATX-kraft (det är Advanced Technology eXtended om du håller reda på). Tillsammans med ett antal andra framsteg (mini-DIN PS / 2, någon?) Tog ATX med mjuk kraft. Mjuk kraft betyder att strömmen till datorn kan styras av programvara. Detta medförde några importändringar:

  • Standby-ström: du kanske har sett en "5v SB" eller "5v standby" -kontakt märkt i strömförsörjningsutsläpp. De standby-strömförsörjning är en 5v-linje till ditt moderkort som alltid är detpå, även när datorn är avstängd. Det är därför det är viktigt att koppla bort eller stänga av en PSU-hård switch (om den finns) när du servar moderna datorer, eftersom även när den är av kan du potentiellt kortsluta 5v SB och skada moderkortet. Detta är också anledningen till att CMOS-batterier egentligen inte är lika viktiga längre - 5v SB används för att byta ut CMOS-batteriet när strömförsörjningen har nätström, så CMOS-batteriet används bara när du kopplar ur datorn helt. 5v SB-linjen gör det viktigt att komponenter i din dator (framför allt BIOS och nätverksadaptrar) fortsätter att köra enkel programvara även när datorn är avstängd.
  • Intelligent strömförsörjningskontroll. Om du tittar på en pinout för din strömförsörjningens moderkort (P1) -kontakt kommer du att märka två stift som vanligtvis är märkta PS_ON och PS_RDY. Dessa står för "strömförsörjning på" och "strömleverans klar ”. Om du gillar att experimentera, ta en strömförsörjning som inte finns i en dator, koppla in den och kort noggrant en jordlinje (en av de svarta ledningarna) till PS_ON-linjen (den gröna ledningen). Strömförsörjningen kommer synligt att slås på, med att fläkten snurrar upp. Komponenterna på moderkortet som körs av + 5v SB sätter och slår på strömförsörjningen genom att ansluta strömmen till PS_ON-stiftet. Eftersom det finns några kondensatorer och andra komponenter i strömförsörjningen som tar ett ögonblick att ladda upp, kanske spänningarna från strömförsörjningens huvudutgångar inte är stabila omedelbart efter det att PSU slås på. Detta är vad PS_RDY-stiftet är för, det tänds när strömförsörjningens interna logik bestämmer att strömförsörjningen är "klar" och kommer att ge stabil kraft. Moderkortet väntar tills PS_RDY är igång för att fortsätta starta.

Så din strömbrytare "aktiverar" inte längredator. Istället är det anslutet till moderkortets grundkontroller, som upptäcker att knappen har tryckts in och utför ett antal steg för att redo systemet, inklusive belysning av PS_ON så att strömmen blir tillgänglig. Strömbrytaren ä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 på när din dator är avstängd och letar efter ett mycket specifikt paket som ofta kallas ”Magipaketet.” Om de upptäcker detta paket adresserat till deras MAC-adress kommer de att starta startprocessen . Så här fungerar “Wake-on-LAN” (WoL). Klockan kan också initiera en start (de flesta BIOS låter dig 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å strömstyrning

Jag förklarar Soft Power-saken både förJag tycker att det är intressant (alltid en viktig anledning till att jag förklarar saker) och eftersom det låter dig förstå hur datorns ström och körning / avstängning styrs av programvara. I de flesta aktuella datorer är detta programvara en implementering av Avancerad konfiguration och strömgränssnitt, eller ACPI. ACPI är ett standardiserat, enhetligt system som tillåter programvara att kontrollera din dators kraftsystem. Du kanske har hört talas om ACPI-maktstater. Den grundläggande mekanismen för effektstyrning är dessa"Strömtillstånd", ditt operativsystem växlar igenom strömlägen genom att förbereda för omkopplaren (avstängnings- / viloläge-processerna som inträffar innan strömmen faktiskt slås av) och sedan kommandot moderkortet att byta strömtillstånd. Maktstaterna ser så här ut:

  • G0: Arbetar (datorns status "på")
  • G1: Sovande (din dators standbyläge, uppdelat i S-ersättare)
    • S1: ström till CPU och RAM förblir på, men CPU kör inte instruktioner. Kringutrustning är avstängd.
    • S2: CPU är avstängd, RAM upprätthålls
    • S3: Alla komponenter stängs av utom RAM och enheter som utlöser ett CV (tangentbord). När du ber ditt operativsystem att "vila" kommer det att stoppa processer och sedan gå in i detta läge.
    • S4: Viloläge. Absolut allt är avstängt. När du ber ditt operativsystem om viloläge, stoppar det processer, sparar innehållet i RAM på disken och går sedan in i det här läget.
  • G2: Soft Off. detta är datorns "av" -läge. Strömmen är på till allt utom enheter som kan utlösa en start.
  • G3: Mekanisk avstängd.

Hur återställning faktiskt händer

Du kommer att märka att omstart inte är ett av dessa tillstånd. Så vad händer faktiskt när din dator när den startar om? Svaret kan vara överraskande, eftersom det är från ett energihanteringsperspektiv nästan inget. Det finns ett ACPI-återställningskommando. När du ber ditt operativsystem att starta om,den följer sin normala avstängningsprocess (stoppar alla dina processer, utför lite underhåll, avlägsnar dina filsystem osv.) och sedan som ett sista steg istället för att skicka maskinen till strömtillstånd G2 (som det skulle om du helt enkelt hade gjort berättade det för att stänga av) det ställer in återställningskommandot. Detta kallas vanligtvis ”Återställ register”, för precis som de flesta av ACPI-gränssnittet är det bara en adress som ett specifikt värde ska skrivas till för att begära en återställning. Jag citerar 2.0-specifikationen för vad den gör:

Den valfria återställningsmekanismen för ACPI anger astandardmekanism som ger en komplett å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 det att logiskt sätta på återställningsmekanismen den logiska motsvarigheten till kraftcykling av maskinen. Efter att ha fått kontroll efter en återställning kommer OSPM att utföra åtgärder på samma sätt till en kallstart.

Så när återställningsregistret är inställt, händer ett par saker i följd.

  • All logik återställs. Detta innebär att skicka respektive återställningskommandon till olika hårdvarubitar inklusive CPU, minneskontroller, perifera styrenheter, etc. I de flesta fall betyder detta helt enkelt att tända en fysisk RST-tråd, som AndrejaKo visade ovan.
  • Datorn startas sedan. Detta är "utföra åtgärder på samma sätt till en kallstart" -del. Moderkortet utför samma steg som om det skulle göra om strömförsörjningen just hade blivit klar efter att strömbrytaren tryckts in.

Sluteffekten av dessa två steg (som faktisktbryta ner till mycket fler steg) är att det ser ut till allt precis som datorn just startade, men strömmen var faktiskt hela tiden. Detta innebär 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 det går att starta uppstart genom att operativsystemet stänger av. Detta innebär att en annan startutlösare 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 ett sätt att utlösa start.

Det var ett långt svar. Men hej, förhoppningsvis vet du mer om datorns energihantering nu. Jag har verkligen lärt mig några saker som forskar på detta.


Har något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa fler svar från andra tekniska kunniga Stack Exchange-användare? Kolla in hela diskussionstråden här.</ P>