Miten tietokoneeni pystyy käynnistämään uudelleen itsensä?

Sisällysluettelo:

Miten tietokoneeni pystyy käynnistämään uudelleen itsensä?
Miten tietokoneeni pystyy käynnistämään uudelleen itsensä?
Anonim
Se on niin yleinen paikkatoiminta, että useimmat meistä eivät todennäköisesti koskaan pysähdy edes ajatelemaan sitä: automaattinen uudelleenkäynnistys. Onko käyttäjä tai sovellus aloitettu, mitä tapahtuu juuri silloin, kun tietokone syklii omaa voimaa?
Se on niin yleinen paikkatoiminta, että useimmat meistä eivät todennäköisesti koskaan pysähdy edes ajatelemaan sitä: automaattinen uudelleenkäynnistys. Onko käyttäjä tai sovellus aloitettu, mitä tapahtuu juuri silloin, kun tietokone syklii omaa voimaa?

Tämän päivän kysymys- ja vastausistunto tulee meihin SuperUserin ansiosta. Tämä on Stack Exchange -jako, joka on Q & A-sivustojen yhteisöjoukkoyhtymä.

Kysymys

SuperUser-lukija Seth Carnegie ihmettelee tietokoneen virranhallinnasta:

How can a computer restart itself? After it’s off, how does it tell itself to come back on again? What kind of software is it that can do this?

Kuinka todella? Mikä yhdistelmä ohjelmisto / laitteisto taika tekee sen tapahtua?

Vastaus

SuperUser-avustaja Jcrawfordor tarjoaa sekä tiivistetyn että yksityiskohtaisen vastauksen kysymykseen, joka ratkaisee kysymyksen enempää kuin riittävän hyvin:
SuperUser-avustaja Jcrawfordor tarjoaa sekä tiivistetyn että yksityiskohtaisen vastauksen kysymykseen, joka ratkaisee kysymyksen enempää kuin riittävän hyvin:

Liian pitkä, ei lukenut vastausta: Tietokoneen tehoasetuksia ohjataan ACPI: n (kehittyneiden konfigurointi- ja virtakäyttöliittymien) toteutuksella. Sammutusprosessin lopussa käyttöjärjestelmä asettaa ACPI-komennon, joka ilmaisee tietokoneen käynnistymisen uudelleen. Vastauksena emolevy nollaa kaikki komponentit käyttämällä niiden reset-komentoja tai -rivisiä ja seuraa sitten käynnistysprosessia. Emolevy ei koskaan koskaan sammuta, se vain nollaa eri komponentit ja sitten käyttäytyy ikään kuin virtapainiketta olisi juuri painettu.

Pitkä ja mutkikas mutta (mielestäni) mielenkiintoisempi vastaus:

Soft Power ja miten se toimii

Vanhoissa päivissä (hyvin, okei, niin kuin 90-lukuinen opiskelijani kuin minä olen ollut kauan sitten), meillä oli AT (Advanced Technology) emolevyt AT-teho hallinta. AT-sähköjärjestelmä oli hyvin, hyvin yksinkertainen. Tietokoneen virtapainike oli laitteiston vaihtaminen (todennäköisesti kotelon takaosassa) ja 120vac-tulosi menivät suoraan sen läpi. Se fyysisesti kytki virran virran päälle ja pois päältä ja kun tämä kytkin oli Off-asennossa, kaikki tietokoneessa oli täysin kuollut (tämä teki CMOS-akun erittäin tärkeäksi, koska ilman sitä ei ollut virtalähdettä laitteiston pitämiseksi kellotus). Koska virtakytkin oli fyysinen mekanismi, ohjelmistoa ei ollut kytkettynä päälle ja pois päältä. Windows näyttää kuuluisan "On turvallista sammuttaa tietokoneesi" -viestin, koska vaikka kaikki oli pysäköitynä ja valmiina sammutettua, käyttöjärjestelmä ei todellakaan pysty kääntämään virtakytkintä. Tätä kokoonpanoa kutsuttiin joskus nimellä kova voima, koska se on kaikki laitteisto.

Nykyään asiat ovat erilaiset ATX - emolevyn ja ATX-teho (tämä on Advanced Technology eXtended, jos olet seurata). Yhdessä useiden muiden edistysaskeleiden kanssa (mini-DIN PS / 2, kuka tahansa?), ATX tuodaan pehmeä voima. Pehmeä voima tarkoittaa, että tietokoneen tehoa ohjataan ohjelmistolla. Tämä toi muutamia tuontimuutoksia:

  • Valmiustila: olet ehkä nähnyt "5v SB" - tai "5v standby" -liittimen, joka on merkitty virtalähteen pinoutuilla. valmiustilan virransyöttö on 5v-linja emolevyyn, joka on aina päällä, vaikka tietokone olisi sammutettu. Siksi on tärkeätä irrottaa tai sammuttaa virtalähteen virtakytkin (jos sellainen on olemassa), kun huollatte nykyaikaisia tietokoneita, koska vaikka se onkin pois päältä, voisit mahdollisesti lyhentää 5v SB: n ja vahingoittaa emolevyä. Tästä syystä CMOS-paristot eivät enää olekaan yhtä tärkeitä - 5v SB korvataan CMOS-akulla aina virtalähteellä, joten CMOS-akkua käytetään vain, kun irrotat tietokoneen kokonaan. 5V: n SB-linja mahdollistaa tietokoneesi komponenttien (lähinnä BIOS: n ja verkkolaitteiden) käytön jatkuvan yksinkertaisen ohjelmiston suorittamisen myös silloin, kun tietokoneesta on katkaistu virta.
  • Älykäs virtalähdevalvonta. Jos tarkastelet virtalähteen emolevyn (P1) liittimen pinoutta, näet kaksi tapaa, jotka tyypillisesti on merkitty PS_ON ja PS_RDY. Nämä ovat "virtalähde" ja "virtalähde valmiina". Jos haluat kokeilla, käytä virtalähdettä tietokoneessa, liitä se paikalleen ja oikosulje maadoitusjohto (yksi musta johdot) PS_ON-linjalle (vihreä lanka). Virransyöttö näkyy näkyvästi, kun tuuletin pyörii ylös. + 5v SB: n käynnistyneen emolevyn komponentit todella kytkeytyvät virtalähteeseen päälle ja pois kytkemällä virran PS_ON-nastaan. Koska virtalähteessä on joitain kondensaattoreita ja muita komponentteja, joiden lataaminen kestää hetkeksi, virransyötön päälähtöjännitteet eivät välttämättä ole stabiileja heti, kun virtalähde käynnistyy. Tämä on mitä PS_RDY-pin on, se syttyy, kun virtalähteen sisäinen logiikka määrää, että virtalähde on "valmis" ja antaa vakaan tehon. Emolevy odottaa kunnes PS_RDY on käynnissä käynnistää.

Joten virtakytkin ei enää käynnisty tietokoneeseen. Sen sijaan se on liitetty emolevyn perusohjaimiin, jotka havaitsevat, että painiketta on painettu ja suoritettu useita vaiheita järjestelmän valmiiksi, mukaan lukien valaisemalla PS_ON, jotta teho on käytettävissä. Virtapainike ei ole ainoa tapa käynnistää käynnistysprosessi, myös laajennusväylän laitteet voivat tehdä niin.Tämä on tärkeää, koska ethernet-verkkokorttisi pysyvät paikallaan tietokoneen ollessa pois päältä ja etsivät hyvin erityistä pakettia, jota usein kutsutaan "Magic-pakettiin". Jos he havaitsevat tämän paketin osoitteensa MAC-osoitteeseensa, he alkavat käynnistää prosessin. Näin Wake-on-LAN (WoL) toimii. Kello voi käynnistää myös käynnistyksen (useimmat BIOS-ohjelmat mahdollistavat tietokoneen käynnistämisen päivämäärän), ja USB- ja FireWire-laitteet voivat käynnistää käynnistysvaiheen, vaikka en ole tietoinen tämän toteutuksesta.

Tehonohjauksen ymmärtäminen

Selitän myös Soft Power -hankkeen, koska mielestäni se on mielenkiintoista (aina keskeinen syy, kun selitän asioita) ja siksi, että sen avulla voit ymmärtää, kuinka tietokoneesi virta ja virranhallinta / käytöstä poistaminen ovat ohjelmiston hallitsemia. Useimmissa nykyisissä tietokoneissa tämä ohjelmisto on toteutus Advanced Configuration ja Power Interface tai ACPI. ACPI on standardoitu, yhtenäinen järjestelmä, jonka avulla ohjelmisto hallitsee tietokoneesi sähköjärjestelmää. Olet ehkä kuullut ACPI-virtalähteet. Tehonohjauksen perusmekanismi ovat nämä "teho-tilat", käyttöjärjestelmäsi kytkeytyy virtalähteisiin valmistautumalla kytkimelle (sammutus- / lepotilaprosessit, jotka esiintyvät ennen virran katkaisemista), ja sitten hallitsemaan emolevyä tehon tilojen kytkemiseksi. Tehontatilat näyttävät tästä:

  • G0: Työskentely (tietokoneen "päällä" tila)
  • G1: nukkuminen (tietokoneen valmiustilanne, jaettu S-substateihin)

    • S1: CPU: n ja RAM-muistin virta on edelleen päällä, mutta CPU ei suorita ohjeita. Oheislaitteet sammuvat.
    • S2: CPU sammutettu, RAM ylläpidetty
    • S3: Kaikki komponentit on kytketty pois päältä lukuunottamatta RAM-muistia ja laitteita, jotka käynnistävät uudelleen (näppäimistö). Kun kerrot käyttöjärjestelmästäsi "Sleep", se lopettaa prosessit ja siirtyy sitten tähän tilaan.
    • S4: horrostila. Ehdottomasti kaikki on sammutettu. Kun kerrot käyttöjärjestelmästä horrostilaan, se lopettaa prosessit, tallentaa RAM-levyn sisällön levylle ja siirtyy sitten tähän tilaan.
  • G2: Pehmeä pois. tämä on tietokoneesi "off" -tilassa. Virta on pois kaikesta paitsi laitteista, jotka voivat käynnistää käynnistyksen.
  • G3: mekaaninen pois.

Miten nollaus todella tapahtuu

Huomaat, että uudelleenkäynnistys ei ole yksi näistä valtioista. Joten mitä todella tapahtuu, kun tietokoneesi käynnistyy uudelleen? Vastaus voi olla yllättävää, koska energianhallinnan näkökulmasta se on melkein ei mitään. On ACPI-nollauskomento. Kun kerrot käyttöjärjestelmällesi uudelleenkäynnistämisen, se seuraa sen normaalia sammutusprosessia (lopettaa kaikki prosessit, suorittaa vähän ylläpitoa, irrottaa tiedostojärjestelmät jne.) Ja sitten lopulliseksi askeleeksi sen sijaan, että lähetät laitteen virransäästötilaan G2 (kuten jos olisitte yksinkertaisesti kertoneet sen sammuta), se asettaa Reset-komennon. Tätä kutsutaan yleisesti nimellä "Reset register", koska kuten useimpien ACPI-liittymien kohdalla se on vain osoite, jossa tietyn arvon pitäisi olla kirjoitettu pyynnön palauttamiseksi. Lainaan 2.0-spesifikaatiota siitä, mitä se tekee:

The optional ACPI reset mechanism specifies a standard mechanism that provides a complete system reset. When implemented, this mechanism must reset the entire system. This includes processors, core logic, all buses, and all peripherals. From an OSPM perspective, asserting the reset mechanism is the logical equivalent to power cycling the machine. Upon gaining control after a reset, OSPM will perform actions in like manner to a cold boot.

Joten, kun nollausrekisteri on asetettu, muutama tapaus tapahtuu peräkkäin.

  • Kaikki logiikka palautetaan. Tämä tarkoittaa, että lähetetään vastaavat nollauskomennot eri laitteistopareille, mukaan lukien keskusyksikkö, muistinohjain, reunaohjaimet jne. Useimmissa tapauksissa tämä tarkoittaa yksinkertaisesti fyysisen RST-johdon valaistusta, kuten AndrejaKo ilmestyi yllä.
  • Tietokone käynnistyy sitten bootstrapped. Tämä on "suorittaa toimia samalla tavoin kuin kylmä boot" -osa. Emolevy suorittaa samoja vaiheita kuin se, jos virtalähde oli juuri valmis, kun virtapainiketta painettiin.

Näiden kahden vaiheen loppuvaikutus (joka todella rikkoo paljon enemmän vaiheita) on se, että se näyttää kaiken aivan kuin tietokone juuri käynnistynyt, mutta voima oli todella koko ajan. Tämä tarkoittaa vähemmän aikaa, joka tarvitaan sulkemiseen ja käynnistämiseen (koska sinun ei tarvitse odottaa, että virtalähde on valmis) ja tärkeämpää, että käynnistys käynnistetään käyttöjärjestelmän sulkemiseksi. Tämä tarkoittaa sitä, että toista käynnistysliipua ei tarvitse käyttää (WoL jne.), Ja voit käyttää Reboota tehokkaana keinona nollata järjestelmä etänä, kun sinulla ei ole mahdollisuutta käynnistää käynnistys.

Se oli pitkä vastaus. Mutta hei, toivottavasti tiedät enemmän tietokoneen virranhallinnasta nyt. Olen varmasti oppinut joitakin asioita tutkimalla tätä.

Onko jokin asia lisättävä selitykseen? Kuulkaa kommentit. Haluatko lukea lisää vastauksia muilta tech-tajuilta Stack Exchange-käyttäjiltä? Katso koko keskusteluketju täältä.

Suositeltava: