Se on niin yleinen paikkatoiminta, että suurin osa meistä ei todennäköisesti ole koskaan pysähtynyt edes ajatella sitä: automaattinen uudelleenkäynnistys. Onko käyttäjän tai sovelluksen käynnistämä, mitä tapahtuu, kun tietokone käyttää omaa virtansa?
Tämän päivän Kysymys- ja vastausistunto tulee meille SuperUser-lisenssillä - joka on Stack Exchangen alaryhmä.
Kysymys
SuperUser-lukija Seth Carnegie ihmettelee tietokoneen virranhallintaa:
Kuinka tietokone voi käynnistää itsensä uudelleen? Kun se on pois päältä, miten se kertoo itselleen palata takaisin? Millainen ohjelmisto voi tehdä tämän?
Kuinka todellakin? Mikä ohjelmisto / laitteisto-taika yhdistelmä saa sen tapahtumaan?
Vastaus
SuperUser-avustaja Jcrawfordor tarjoaa sekä tiivistetyn että yksityiskohtaisen vastauksen kysymykseen, joka vastaa enemmän kuin riittävästi kysymykseen:
Liian pitkä; ei lukenut sitä vastaus: Tietokoneesi virtatiloja ohjaa ACPI (edistynyt kokoonpano ja virtaliitäntä). Sammutusprosessin lopussa käyttöjärjestelmä asettaa ACPI-komennon, joka osoittaa, että tietokoneen pitäisi käynnistyä uudelleen. Vastauksena emolevy nollaa kaikki komponentit vastaavilla palautuskomennoilla tai -riveillä ja seuraa sitten käynnistysprosessia. Emolevy ei koskaan sammu, se nollaa vain eri komponentit ja käyttäytyy sitten kuin virtapainiketta olisi juuri painettu.
Pitkä ja sekava, mutta (mielestäni) mielenkiintoisempi vastaus:
Pehmeä voima ja miten se toimii
Muinaisina aikoina (no, okei, minun kaltaiselleni opiskelijalle 90-luku oli kauan sitten), meillä oli AT (Advanced Technology) -emolevyt AT-teho hallinto. AT-voimajärjestelmä oli hyvin, hyvin yksinkertainen. Tietokoneesi virtapainike oli laitteistokytkin (todennäköisesti kotelon takaosassa) ja 120vac-tulo meni suoraan sen läpi. Se fyysisesti kytkee virtalähteen virran päälle ja pois päältä, ja kun tämä kytkin oli Pois-asennossa, kaikki tietokoneen tietokoneesi olivat täysin kuolleet (tämä teki CMOS-akusta erittäin tärkeän, koska ilman sitä ei ollut virtalähdettä laitteiston pitämiseksi kello tikittää). Koska virtakytkin oli fyysinen mekanismi, virran kytkemiseksi ja sammuttamiseksi ei ollut ohjelmistoa. Windows näyttäisi kuuluisan "Tietokoneen sammuttaminen on nyt turvallista" -viestin, koska vaikka kaikki oli pysäköity ja valmis sammuttamaan, käyttöjärjestelmässä ei ollut mahdollista kääntää virtakytkintä. Tätä kokoonpanoa kutsuttiin joskus nimellä kova voima , koska kaikki on laitteistoa.
Nykyään asiat ovat erilaiset, ATX-emolevyjen ja ATX-teho (Tämä on edistynyttä tekniikkaa, jos pidät kirjaa). Yhdessä useiden muiden ennakoiden (mini-DIN PS / 2, kuka tahansa?) Kanssa ATX toi pehmeä voima . Pehmeä teho tarkoittaa, että tietokoneen virtaa voidaan ohjata ohjelmistolla. Tämä toi muutaman tuontimuutoksen:
- Valmiustila: Olet ehkä nähnyt ”5v SB” - tai “5v standby” -liittimen, joka on merkitty virtalähteen pinouteihin. virransyöttö valmiustilassa on 5v-linja emolevyyn, joka on aina päällä, vaikka tietokone olisi sammutettu. Siksi on tärkeää irrottaa virtalähteen virtakytkin tai katkaista se käytöstä (jos sellainen on), kun huollat nykyaikaisia tietokoneita, koska jopa sammutettuna saatat oikosulkea 5 V SB: n ja vahingoittaa emolevyä. Siksi CMOS-akut eivät ole enää niin tärkeitä - 5v SB: tä käytetään korvaamaan CMOS-paristo aina, kun virtalähteessä on verkkovirta, joten CMOS-akkua käytetään vain, kun irrotat tietokoneen kokonaan. 5v SB -linja antaa tärkeän osan tietokoneesi komponenteille (ennen kaikkea BIOS ja verkkosovittimet) jatkaa yksinkertaisten ohjelmistojen käyttöä, vaikka tietokone olisi sammutettu.
- Älykäs virtalähteen hallinta. Jos tarkastelet virtalähteen emolevyn (P1) liittimen pinoutia, huomaat kaksi nastaa tyypillisesti PS_ON ja PS_RDY . Nämä tarkoittavat "virtalähde päällä" ja "virtalähde valmis". Jos haluat kokeilla, ota virtalähde muualta kuin tietokoneesta, kytke se ja oikosulje maadoitusjohto (yksi mustista johtimista) varovasti PS_ON-linjaan (vihreä johto). Virtalähde kytkeytyy näkyviin, kun tuuletin pyörii. Emolevyn komponentit, jotka ovat loppuneet + 5v SB: stä, kytkevät virtalähteen päälle ja pois päältä kytkemällä virran PS_ON-nastaan. Koska virtalähteessä on joitain kondensaattoreita ja muita komponentteja, joiden lataaminen kestää hetken, virtalähteen päälähtöjen jännitteet eivät välttämättä ole vakaat heti virtalähteen käynnistymisen jälkeen. Tätä varten PS_RDY-tappi on tarkoitettu, se syttyy, kun virtalähteen sisäinen logiikka määrittää, että virtalähde on "valmis" ja tarjoaa vakaan virran. Emolevy odottaa, kunnes PS_RDY on päällä, jatkaakseen käynnistystä.
Joten virtakytkin ei enää “käynnistä” tietokonetta. Sen sijaan se on kytketty emolevyn perusohjaimiin, jotka havaitsevat painikkeen painamisen ja suorittavat useita vaiheita järjestelmän valmistelemiseksi, mukaan lukien PS_ON-valaistus, jotta virtaa on saatavilla. Virtapainike ei ole ainoa tapa käynnistää käynnistysprosessia, myös laajennusväylän laitteet voivat tehdä sen. Tämä on tärkeää, koska ethernet-verkkosovittimesi pysyvät päällä, kun tietokone on sammutettu, ja etsivät hyvin erityistä pakettia, jota usein kutsutaan "Magic-paketiksi". Jos he havaitsevat tämän paketin, joka on osoitettu heidän MAC-osoitteelleen, he käynnistävät käynnistysprosessin. Näin ”Wake-on-LAN” (WoL) toimii. Kello voi myös käynnistää käynnistyksen (useimmat BIOS: t sallivat sinun asettaa ajan, jonka tietokoneen pitäisi käynnistyä joka päivä), ja USB- ja FireWire-laitteet voivat käynnistää käynnistyksen, vaikka en ole tietoinen tämän toteutuksesta.
Virranhallinnan ymmärtäminen
No, selitän Soft Power -asiaa sekä siksi, että mielestäni se on mielenkiintoinen (aina keskeinen syy siihen, että selitän asioita), että siksi, että sen avulla voit ymmärtää, kuinka tietokoneesi virtaa ja käynnissä / sammutustilaa hallitaan ohjelmistolla. Useimmissa nykyisissä tietokoneissa tämä ohjelmistojärjestelmä on Advanced Configuration and Power Interface tai ACPI . ACPI on standardoitu, yhtenäinen järjestelmä, jonka avulla ohjelmisto voi hallita tietokoneesi sähköjärjestelmää. Olet ehkä kuullut ACPI-virtatilat . Virranhallinnan perusmekanismi on nämä "virtatilat", käyttöjärjestelmäsi vaihtaa virtatilojen välillä valmistautumalla kytkimeen (sammutus- / lepotilaprosessit, jotka tapahtuvat ennen virran kääntämistä) ja käskemällä sitten emolevyä vaihtamaan virtatiloja . Voimatilat näyttävät tältä:
- G0: Työskentely (tietokoneesi "päällä" -tila)
-
G1: Lepotila (tietokoneen valmiustila jaettuna S-alatilaan)
- S1: virta CPU: lle ja RAM-muistille pysyy päällä, mutta CPU ei suorita ohjeita. Oheislaitteista on katkaistu virta.
- S2: CPU sammutettu, RAM-muistia ylläpidetty
- S3: Kaikki komponentit sammutettiin, paitsi RAM ja laitteet, jotka käynnistävät jatkamisen (näppäimistö). Kun käsket käyttöjärjestelmän lepotilaan, se pysäyttää prosessit ja siirtyy sitten tähän tilaan.
- S4: Lepotila. Ehdottomasti kaikki on kytketty pois päältä. Kun kehotat käyttöjärjestelmää horrostilaan, se pysäyttää prosessit, tallentaa RAM-muistin sisällön levylle ja siirtyy sitten tähän tilaan.
- G2: Pehmeä pois päältä. tämä on tietokoneesi "pois päältä" -tila. Virta on pois päältä kaikesta, paitsi laitteista, jotka voivat käynnistää käynnistyksen.
- G3: Mekaaninen pois päältä.
Kuinka palautus todella tapahtuu
Huomaat, että uudelleenkäynnistys ei ole yksi näistä tiloista. Joten mitä tapahtuu, kun tietokone käynnistyy uudelleen? Vastaus voi olla yllättävä, koska virranhallinnan näkökulmasta se on melkein ei mitään . On ACPI-nollauskomento . Kun käsket käyttöjärjestelmän käynnistymään uudelleen, se noudattaa normaalia sammutusprosessiaan (pysäyttää kaikki prosessit, suorittaa vähän huoltoa, purkaa tiedostojärjestelmät jne.) Ja sitten viimeisenä vaiheena sen sijaan, että lähetettäisi kone virtatilaan G2 (kuten jos olisit yksinkertaisesti käskenyt sen sammuttaa), se asettaa Palauta-komennon. Tätä kutsutaan yleensä "Nollaa rekisteri", koska kuten useimmat ACPI-käyttöliittymät, se on vain osoite, johon tietty arvo tulisi kirjoittaa, jotta voidaan pyytää nollaamista. Lainaan 2.0-erittelyä sen toiminnasta:
Valinnainen ACPI-palautusmekanismi määrittää vakiomekanismin, joka tarjoaa täydellisen järjestelmän palautuksen. Toteutettuna tämän mekanismin on nollattava koko järjestelmä. Tämä sisältää prosessorit, ydinlogiikan, kaikki väylät ja kaikki oheislaitteet. OSPM-näkökulmasta palautusmekanismin väittäminen on looginen vastine koneen tehonsyklille. Saatuaan hallinnan palautuksen jälkeen, OSPM suorittaa toimia samalla tavalla kuin kylmäkäynnistys.
Joten kun nollausrekisteri on asetettu, muutama asia tapahtuu peräkkäin.
- Kaikki logiikat nollataan. Tämä tarkoittaa vastaavien palautuskomentojen lähettämistä useille laitteistobiteille, kuten suorittimelle, muistiohjaimelle, oheislaiteohjaimille jne. Useimmissa tapauksissa tämä tarkoittaa yksinkertaisesti fyysisen RST-johdon sytyttämistä, kuten AndrejaKo osoitti yllä.
- Tietokone käynnistetään sitten. Tämä on "suorita toiminnot samalla tavalla kuin kylmäkäynnistys" -osa. Emolevy suorittaa samat vaiheet kuin jos virtalähde olisi juuri tullut valmiiksi virtapainikkeen painamisen jälkeen.
Näiden kahden vaiheen lopputulos (joka todella hajoaa paljon useampaan vaiheeseen) on, että se näyttää kaikelta aivan kuten juuri käynnistetty tietokone, mutta virta oli itse asiassa koko ajan. Tämä tarkoittaa vähemmän aikaa sammutukseen ja käynnistykseen (koska sinun ei tarvitse odottaa virtalähteen valmistumista), ja mikä tärkeintä, käynnistys käynnistetään käyttöjärjestelmän sammuttamisen vuoksi. Tämä tarkoittaa, että toista käynnistysliipaisinta ei tarvitse käyttää (WoL jne.), Ja sen avulla voit käyttää uudelleenkäynnistystä tehokkaana tapana palauttaa järjestelmä etänä, kun sinulla ei ole tapaa käynnistää käynnistystä.
Se oli pitkä vastaus. Mutta hei, toivottavasti tiedät enemmän tietokoneen virranhallinnasta nyt. Olen varmasti oppinut joitain asioita tutkimalla tätä.
Onko sinulla jotain lisättävää selitykseen? Ääni pois kommenteista. Haluatko lukea lisää vastauksia muilta teknisesti taitavilta Stack Exchangen käyttäjiltä? Katso koko keskusteluketju täältä .