Hvordan kan min computer genstarte sig selv?
Det er sådan en fælles stedaktivitet, som de fleste af os sandsynligvis aldrig har stoppet for selv at tænke over det: den automatiske genstart. Uanset om brugeren eller applikationsinitiativet er i gang, hvad sker der præcis, når computeren cykler med egen strøm?
Dagens Spørgsmål og Svar session kommer til os med venlig hilsen af SuperUser-en underafdeling af Stack Exchange, en community-drive gruppering af Q & A websteder.
Spørgsmålet
SuperUser-læser Seth Carnegie undrer sig om computerens strømstyring:
Hvordan kan en computer genstarte sig selv? Når det er slukket, hvordan fortæller det sig selv at komme igen på ny? Hvilken slags software er det, der kan gøre dette?
Hvor rigtigt? Hvilken kombination af software / hardware magi gør det til at ske?
Svaret
SuperUser bidragyder Jcrawfordor tilbyder både et kondenseret og detaljeret svar på det spørgsmål, der mere end nok adresserer spørgsmålet:
Den for længe; ikke læst det svar: Strømtilstande i din computer styres af en implementering af ACPI (avanceret konfiguration og strømgrænseflade). I slutningen af en shutdown-proces angiver dit operativsystem en ACPI-kommando, der angiver, at computeren skal genstarte. Til gengæld nulstiller bundkortet alle komponenter ved hjælp af deres respektive nulstillingskommandoer eller linjer, og derefter følger bootstrap-processen. Bundkortet slukker aldrig, det nulstiller kun forskellige komponenter og fungerer som om strømknappen lige er blevet trykket.
Lang og vandrende men (efter min mening) mere interessant svar:
Soft Power og hvordan det virker
I gamle dage (okay, for en college student som mig var 90'erne for længe siden), havde vi AT (Advanced Technology) bundkort med Ved magten ledelse. AT Power-systemet var meget, meget simpelt. Strømknappen på din computer var en hardware skifte (sandsynligvis bagud i sagen), og din 120vac-indgang gik lige igennem den. Det slog strømmen til strømforsyningen til og fra fysisk, og da denne switch var i slukket position, var alt i din computer helt død (det gjorde CMOS-batteriet meget vigtigt, fordi uden det var der ingen strømforsyning for at holde hardware ur tikker). Da strømafbryderen var en fysisk mekanisme, var der ingen software måde at tænde og slukke for. Windows ville vise den berømte "Det er nu sikkert at slukke for din computer" besked, fordi selvom alt var parkeret og klar til at slukke, var det ikke muligt for OS'en faktisk at vende strømafbryderen. Denne konfiguration blev undertiden omtalt som hård magt, fordi det er al hardware.
I dag er tingene forskellige, på grund af ATX bundkortets underværker og ATX power (det er Advanced Technology eXtended hvis du holder styr på). Sammen med en række andre fremskridt (mini-DIN PS / 2, nogen?), Bragte ATX blød effekt. Soft power betyder, at strøm til computeren kan styres af software. Dette medførte et par importændringer:
- Standby-strøm: Du har muligvis set en "5v SB" eller "5v standby" -stik, der er mærket i strømforsyningsstik. Det standby strømforsyning er en 5v linje til dit bundkort, der altid er tændt, selvom computeren er slukket. Derfor er det vigtigt at frakoble eller slukke for en PSU-hardkontakt (hvis den er til stede), når du servicerer moderne computere, for selv når det er slukket, kan du potentielt kortslutte 5v SB og beskadige bundkortet. Dette er også grunden til, at CMOS-batterier ikke længere er lige så vigtige - 5v SB bruges til at udskifte CMOS-batteriet, når strømforsyningen har strømforsyning, så CMOS-batteriet bruges kun, når du trækker computeren helt ud. 5v SB-linjen tillader vigtigere komponenter på din computer (vigtigst af BIOS og netværkskortene) at fortsætte med at køre nogle enkle software, selvom computeren er slukket.
- Intelligent strømforsyningskontrol. Hvis du kigger på en pinout til strømforsyningens bundkort (P1), vil du bemærke to stifter, der typisk er mærket PS_ON og PS_RDY. Disse står for "strømforsyning til" og "strømforsyning klar". Hvis du har lyst til at eksperimentere, skal du tage strømforsyningen ikke i en computer, sæt den i og forsigtigt kortslut en jordlinje (en af de sorte ledninger) til PS_ON-linjen (den grønne ledning). Strømforsyningen vil synligt tænde, med blæseren spinding op. Komponenterne på bundkortet, der løber fra + 5v SB, tænder og slukker din strømforsyning ved at forbinde strøm til PS_ON-stiften. Fordi der er nogle kondensatorer og andre komponenter i strømforsyningen, der tager et øjeblik at oplade, er spændingerne fra strømforsyningens hovedudgange muligvis ikke stabile umiddelbart efter, at PSU'en tændes. Dette er, hvad PS_RDY-stiften er til, den tænder, når strømforsyningens interne logik bestemmer, at strømforsyningen er "klar" og vil give stabil strøm. Hovedkortet venter, indtil PS_RDY er på for at fortsætte opstart.
Så er din strømafbryder ikke "tænd" for computeren. I stedet er det forbundet til dit bundkortets grundlæggende controllere, som opdager, at knappen er blevet trykket og udfører en række trin for at klare systemet, herunder lyser op PS_ON, så strømmen vil være tilgængelig. Strømknappen er ikke den eneste måde at udløse startprocessen, enheder på din ekspansionsbuss kan også gøre det. Dette er vigtigt, fordi dine Ethernet-netværksadaptere rent faktisk forbliver tændt, når computeren er slukket og kigger efter en meget specifik pakke, ofte kaldet "Magic-pakken." Hvis de opdager denne pakke rettet til deres MAC-adresse, vil de udløse opstartsprocessen . Sådan fungerer "Wake-on-LAN" (WoL). Uret kan også starte en boot (de fleste BIOS giver dig mulighed for at indstille en tid, hvor computeren skal starte hver dag), og USB- og FireWire-enheder kan udløse en boot, selv om jeg ikke er klar over nogen implementering af dette.
Forståelse af strømstyring
Nå forklarer jeg Soft Power-sagen både fordi jeg synes, det er interessant (altid en vigtig årsag til, at jeg forklarer ting), og fordi det giver dig mulighed for at forstå, hvordan strømmen og driftstilstanden på din computer styres af software. I de fleste nuværende computere er dette software system en implementering af Avanceret konfiguration og strømgrænseflade, eller ACPI. ACPI er et standardiseret, samlet system, der giver software mulighed for at styre computerens strømforsyning. Du har måske hørt om ACPI-strømtilstande. Den grundlæggende mekanisme for strømstyring er disse "strømtilstande", dit operativsystem skifter gennem strømtilstande ved at forberede kontakten (de afbrydelses / dvaletilstandsprocesser, der opstår inden strømmen springer faktisk væk) og derefter befaler bundkortet for at skifte strømtilstande . Strømtilstandene ser sådan ut:
- G0: Arbejde (din computers "on" tilstand)
- G1: Sleeping (computerens standby-tilstander, opdelt i S-substatserne)
- S1: Strøm til CPU og RAM forbliver tændt, men CPU udfører ikke instruktioner. Perifere enheder er slukket.
- S2: CPU slukket, RAM vedligeholdt
- S3: Alle komponenter er slukket med undtagelse af RAM og enheder, der vil udløse et CV (tastatur). Når du fortæller dit operativsystem at "Sove", stopper processen og derefter indtaster denne tilstand.
- S4: Dvale. Absolut er alt slukket. Når du fortæller dit operativsystem til Hibernate, stopper det processer, gemmer indholdet af RAM til disk og går så ind i denne tilstand.
- G2: Soft Off. Dette er din computers "slukket" tilstand. Strømmen er slukket til alt undtagen enheder, der kan udløse en opstart.
- G3: Mekanisk slukket.
Hvordan nulstilling sker faktisk
Du vil bemærke, at genstart ikke er en af disse stater. Så hvad sker der faktisk, når din computer, når den genstarter? Svaret kan være overraskende, fordi det fra et strømstyringsperspektiv er det næsten ingenting. Der er en ACPI reset kommando. Når du fortæller dit operativsystem at genstarte, følger det sin normale afbrydelsesproces (stopper alle dine processer, udfører lidt vedligeholdelse, fjerner dine filsystemer osv.) Og derefter som et sidste trin i stedet for at sende maskinen til strømtilstand G2 (som det ville, hvis du bare havde sagt det til Shut Down), sætter det Reset-kommandoen. Dette kaldes generelt "Reset-registret", for som det meste af ACPI-grænsefladen er det bare en adresse, hvor en bestemt værdi skal skrives til for at anmode om en nulstilling. Jeg citerer 2.0-specifikationen på hvad det gør:
Den valgfri ACPI-reset-mekanisme angiver en standardmekanisme, der giver en komplet systemåbning. Når implementeret, skal denne mekanisme nulstille hele systemet. Dette omfatter processorer, kernelogik, alle busser og alle eksterne enheder. Fra et OSPM-perspektiv er hævningsmekanismen den logiske ækvivalent til maskinens strømcyklus. Efter at have fået kontrol efter en nulstilling vil OSPM udføre handlinger på samme måde som en koldstart.
Så når nulstillingsregistret er indstillet, sker der et par ting i rækkefølge.
- Alle logik er nulstillet. Det betyder at sende de respektive reset-kommandoer til forskellige hardwarestykker, herunder CPU'en, hukommelsescontrolleren, perifere controllere osv. I de fleste tilfælde betyder det blot, at der oplyses en fysisk RST-tråd, som AndrejaKo viste sig ovenfor.
- Computeren startes derefter. Dette er "udføre handlinger på samme måde som en koldstart" -del. Hovedkortet udfører de samme trin som det ville, hvis strømforsyningen lige var blevet klar, efter at der blev trykket på tænd / sluk-knappen.
Slutvirkningen af disse to trin (som faktisk bryder ned i mange flere trin) er, at det ser ud til alt som computeren lige startede, men strømmen var faktisk hele tiden. Det betyder, at det ikke længere er nødvendigt at lukke og starte op (da du ikke behøver at vente på, at strømforsyningen bliver klar), og det betyder vigtigere, at opstarten starter ved at lukke operativsystemet. Dette betyder, at en anden startup trigger ikke behøver at blive brugt (WoL osv.), Og giver dig mulighed for at bruge Reboot som en effektiv måde at nulstille systemet fjernt, når du ikke har mulighed for at udløse boot.
Det var et langt svar. Men hej, forhåbentlig ved du mere om computerens strømstyring nu. Jeg har bestemt lært nogle ting, der forske på dette.
.