Hoe kan mijn computer zichzelf herstarten?
Het is zo'n gebruikelijke plaatsactiviteit die de meesten van ons waarschijnlijk nooit hebben onderbroken om er zelfs maar over na te denken: de automatische herstart. Of het nu door de gebruiker of de app wordt geïnitieerd, wat er precies gebeurt als uw computer op eigen kracht draait?
De Question & Answer-sessie van vandaag komt tot ons dankzij SuperUser - een onderdeel van Stack Exchange, een community-drive groep van Q & A-websites.
De vraag
SuperUser-lezer Seth Carnegie vraagt zich af over computervermogenbeheer:
Hoe kan een computer zichzelf herstarten? Nadat het uit is, hoe vertelt het zichzelf om weer terug te gaan? Wat voor soort software kan dit doen??
Hoe inderdaad? Welke combinatie van software / hardware-magie het mogelijk maakt?
Het antwoord
SuperUser-bijdrager Jcrawfordor biedt zowel een beknopte als gedetailleerde respons op de vraag die de vraag meer dan adequaat behandelt:
Het te lang; heb het niet gelezen antwoord: Stroomstaten op uw computer worden bestuurd door een implementatie van ACPI (geavanceerde configuratie en stroominterface). Aan het einde van een afsluitproces stelt uw besturingssysteem een ACPI-opdracht in die aangeeft dat de computer opnieuw moet worden opgestart. Als reactie hierop reset het moederbord alle componenten met behulp van hun respectievelijke resetopdrachten of -lijnen en volgt vervolgens het opstartproces. Het moederbord schakelt nooit uit, het reset alleen verschillende componenten en gedraagt zich dan alsof de aan / uit-knop net is ingedrukt.
Lang en trekkend, maar (naar mijn mening) interessanter antwoord:
Soft Power en hoe het werkt
Vroeger (nou ja, voor een student als ik, de jaren '90 was lang geleden), hadden we AT (Advanced Technology) moederborden met AT vermogen beheer. Het AT-voedingssysteem was heel, heel eenvoudig. De aan / uit-knop op je computer was een hardware-schakelaar (waarschijnlijk aan de achterkant van de behuizing) en je 120vac-ingang ging er dwars doorheen. Het schakelde de voeding van je voeding fysiek in en uit, en toen deze schakelaar in de uit-stand stond, was alles in je computer volledig dood (dit maakte de CMOS-batterij erg belangrijk, want zonder dat was er geen stroomvoorziening om de hardware te houden) klok tikken). Omdat de aan / uit-schakelaar een fysiek mechanisme was, was er geen manier om de stroom aan en uit te zetten. Windows zou het beroemde bericht "Het is nu veilig om uw computer uit te zetten" laten zien omdat, hoewel alles was geparkeerd en klaar om uit te schakelen, het OS niet mogelijk was om de aan / uit-schakelaar daadwerkelijk om te draaien. Deze configuratie werd soms aangeduid als harde kracht, omdat het allemaal hardware is.
Tegenwoordig zijn de dingen anders, vanwege de wonderen van ATX-moederborden en ATX vermogen (dat is Advanced Technology eXtended als je het op de voet volgt). Samen met een aantal andere ontwikkelingen (mini-DIN PS / 2, iemand?) Bracht ATX zachte kracht. Soft power betekent dat de stroom naar de computer kan worden bestuurd door software. Dit bracht enkele importwijzigingen met zich mee:
- Stroomvoorziening in stand-bymodus: mogelijk hebt u een connector "5v SB" of "5v standby" in de voedingsspelden gezien. De standby voeding is een 5v-lijn naar uw moederbord die altijd is ingeschakeld, zelfs als de computer is uitgeschakeld. Daarom is het belangrijk om een PSU-hardeschakelaar (indien aanwezig) los te koppelen of uit te schakelen bij het onderhoud van moderne computers, want zelfs als deze uit staat, zou je de 5v SB mogelijk kunnen kortsluiten en het moederbord beschadigen. Dit is ook waarom CMOS-batterijen niet echt belangrijk meer zijn - de 5v SB wordt gebruikt om de CMOS-batterij te vervangen wanneer de voeding netstroom heeft, dus de CMOS-batterij wordt alleen gebruikt als je de computer volledig loskoppelt. De 5v SB-lijn maakt het belangrijk componenten van je computer (en vooral het BIOS en de netwerkadapters) eenvoudig een aantal software te laten draaien, zelfs als de computer is uitgeschakeld.
- Intelligente stroomvoorziening. Als u kijkt naar een pin-out voor de connector van het moederbord (P1) van uw voeding, ziet u twee pinnen die meestal zijn gelabeld PS_ON en PS_RDY. Deze staan voor "voeding aan" en "gereed voor voeding". Als u wilt experimenteren, neemt u een voeding die niet op een computer is aangesloten, sluit u deze aan en korts voorzichtig een aardingskabel (een van de zwarte draden) naar de lijn PS_ON (de groene draad). De voeding zal zichtbaar worden ingeschakeld, met de ventilator ronddraaiend. De componenten van het moederbord die van + 5v SB aflopen, schakelen in feite uw voeding aan en uit door de voeding aan te sluiten op de PS_ON-pin. Omdat er enkele condensatoren en andere componenten in de voeding zijn die enige tijd nodig hebben om op te laden, zijn de spanningen van de hoofduitgangen van de voeding mogelijk niet stabiel direct nadat de PSU wordt ingeschakeld. Dit is waar de PS_RDY-pin voor is, hij gaat aan wanneer de interne logica van de voeding bepaalt dat de voeding "gereed" is en zorgt voor een stabiele stroomvoorziening. Het moederbord wacht tot PS_RDY is ingeschakeld om door te gaan met opstarten.
Uw aan / uit-schakelaar schakelt de computer dus niet meer in. In plaats daarvan is het verbonden met de basiscontrollers van uw moederbord, die detecteren dat de knop is ingedrukt en een aantal stappen uitvoeren om het systeem gereed te maken, inclusief het oplichten van PS_ON zodat er stroom beschikbaar is. De aan / uit-knop is niet de enige manier om het opstartproces te activeren, apparaten op uw uitbreidingsbus kunnen dit ook. Dit is belangrijk omdat uw ethernet-netwerkadapters blijven aan wanneer uw computer is uitgeschakeld en op zoek zijn naar een heel specifiek pakket dat vaak het 'Magic-pakket' wordt genoemd. Als zij dit pakket detecteren dat is geadresseerd aan hun MAC-adres, activeren ze het opstartproces . Dit is hoe "Wake-on-LAN" (WoL) werkt. De klok kan ook een opstart starten (in de meeste BIOS kunt u een tijd instellen waarop de computer elke dag moet opstarten), en USB- en FireWire-apparaten kunnen een opstart starten, hoewel ik niet op de hoogte ben van enige implementatie van deze.
Power Control begrijpen
Welnu, ik leg het Soft Power-ding uit, omdat ik denk dat het interessant is (altijd een belangrijke reden dat ik de dingen uitleg) en omdat het je laat begrijpen hoe de stroom en de status van je computer allemaal worden bestuurd door software. In de meeste huidige computers is dit softwaresysteem een implementatie van de Geavanceerde configuratie en Power Interface, of ACPI. ACPI is een gestandaardiseerd, verenigd systeem dat software toestaat om het energiesysteem van uw computer te besturen. Je hebt misschien gehoord van de ACPI-energiestatus. Het basismechanisme van de vermogensregeling is deze "voedingsstatus", uw besturingssysteem schakelt over naar de energiemodus door zich voor te bereiden op de schakelaar (de shutdown- / overwinteringsprocessen die plaatsvinden voordat de stroom daadwerkelijk wordt uitgeschakeld) en vervolgens het moederbord opdracht te geven om van vermogensstatus te veranderen . De energiestanden zien er als volgt uit:
- G0: Werken (de "aan" -status van uw computer)
- G1: Slapen (de standby-status van uw computer, onderverdeeld in de S-substations)
- S1: stroom naar CPU en RAM blijft ingeschakeld, maar CPU voert geen instructies uit. Randapparatuur is uitgeschakeld.
- S2: CPU uitgeschakeld, RAM onderhouden
- S3: alle componenten uitgeschakeld behalve RAM en apparaten die een CV activeren (toetsenbord). Wanneer u uw besturingssysteem op "Sleep" laat weten, worden de processen gestopt en wordt deze modus geopend.
- S4: Hibernation. Absoluut alles is uitgeschakeld. Wanneer u uw besturingssysteem in de slaapstand zet, stopt het processen, wordt de inhoud van het RAM-geheugen op schijf opgeslagen en wordt deze modus geopend.
- G2: Zacht uit. dit is de "uit" -status van uw computer. Alle apparaten zijn uitgeschakeld, behalve apparaten die een opstart kunnen veroorzaken.
- G3: Mechanisch uitgeschakeld.
Hoe reset daadwerkelijk gebeurt
U zult merken dat opnieuw opstarten niet een van deze toestanden is. Dus wat gebeurt er eigenlijk als je computer opnieuw opstart? Het antwoord kan verrassend zijn, omdat het vanuit het oogpunt van energiebeheer zo is bijna niets. Er bestaat een ACPI-resetopdracht. Wanneer u uw besturingssysteem opdracht geeft om opnieuw op te starten, volgt het de normale afsluitprocedure (stopt al uw processen, voert een beetje onderhoud uit, demonteert uw bestandssystemen, enz.) En vervolgens als laatste stap, in plaats van de machine naar de energiestatus te sturen G2 (zoals het zou zijn als je het simpelweg had verteld om Afsluiten), stelt het de opdracht Reset in. Dit wordt meestal het "Reset register" genoemd, omdat het net als de meeste ACPI-interfaces slechts een adres is waarnaar een specifieke waarde moet worden geschreven om een reset aan te vragen. Ik citeer de 2.0-specificatie over wat het doet:
Het optionele ACPI-resetmechanisme specificeert een standaardmechanisme dat zorgt voor een complete systeemreset. Wanneer het is geïmplementeerd, moet dit mechanisme het volledige systeem opnieuw instellen. Dit omvat processoren, kernlogica, alle bussen en alle randapparatuur. Vanuit OSPM-perspectief is het bevestigen van het resetmechanisme het logische equivalent van powercycle van de machine. Nadat OSPM na een reset de controle heeft verkregen, voert het acties op dezelfde manier uit als bij een koude start.
Dus, wanneer het reset-register is ingesteld, gebeuren er een paar dingen in volgorde.
- Alle logica is gereset. Dit betekent het verzenden van de respectieve resetopdrachten naar verschillende stukjes hardware, inclusief de CPU, geheugencontroller, perifere controllers, etc. In de meeste gevallen betekent dit eenvoudigweg het verlichten van een fysieke RST-draad, zoals AndrejaKo hierboven liet zien.
- De computer wordt vervolgens bootstrapped. Dit is het gedeelte "acties uitvoeren op dezelfde manier als een koude start". Het moederbord voert dezelfde stappen uit als wanneer de voeding net gereed zou zijn geworden na het indrukken van de aan / uit-knop.
Het eindresultaat van deze twee stappen (die eigenlijk in veel meer stappen opsplitsen) is dat alles eruit ziet zoals de computer die net is opgestart, maar de kracht was eigenlijk de hele tijd. Dit betekent minder tijd nodig voor afsluiten en opstarten (aangezien u niet hoeft te wachten totdat de voeding klaar is) en belangrijk is dat het opstarten van het besturingssysteem wordt gestart als het besturingssysteem wordt afgesloten. Dit betekent dat een andere opstarttrigger niet gebruikt hoeft te worden (WoL etc), en stelt u in staat om Reboot te gebruiken als een effectieve manier om het systeem op afstand te resetten, wanneer u geen manier hebt om het opstarten te triggeren.
Dat was een lang antwoord. Maar goed, hopelijk weet je nu meer over computer energiebeheer. Ik heb zeker een aantal dingen geleerd die dit onderzoeken.
.