If-Koubou

W jaki sposób mój komputer może się ponownie uruchomić?

W jaki sposób mój komputer może się ponownie uruchomić? (Jak)

Jest to tak powszechna aktywność w terenie, że większość z nas prawdopodobnie nigdy nie przestała o tym myśleć: automatyczny restart. Niezależnie od tego, czy użytkownik lub aplikacja jest inicjowana, co dokładnie dzieje się, gdy komputer zmienia swoją własną moc?

Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, grupy dyskusyjnej poświęconej tematyce społecznościowej.

Pytanie

Czytnik SuperUser Seth Carnegie zastanawia się nad zarządzaniem energią komputera:

Jak sam komputer może się zrestartować? Po tym, jak to się powtarza, aby ponownie się włączyć? Jakiego rodzaju oprogramowanie to potrafi?

Jak istotnie? Jaka kombinacja magii oprogramowania / sprzętu sprawia, że ​​tak się dzieje?

Odpowiedź

Uczestnik SuperUser Jcrawfordor oferuje skondensowaną i szczegółową odpowiedź na pytanie, które bardziej niż adekwatnie odnosi się do pytania:

Zbyt długo, nie przeczytałem odpowiedzi: Stany zasilania w twoim komputerze są kontrolowane przez implementację interfejsu ACPI (zaawansowana konfiguracja i interfejs zasilania). Po zakończeniu procesu zamykania system operacyjny ustawia polecenie ACPI wskazujące, że komputer powinien się zrestartować. W odpowiedzi płyta główna resetuje wszystkie komponenty za pomocą odpowiednich komend resetowania lub linii, a następnie postępuje zgodnie z procesem ładowania początkowego. Płyta główna nigdy się nie wyłącza, tylko resetuje różne komponenty, a następnie zachowuje się tak, jakby przycisk zasilania został właśnie naciśnięty.

Długa i chaotyczna, ale (moim zdaniem) bardziej interesująca odpowiedź:

Miękka moc i jak to działa

W dawnych czasach (no dobrze, w porządku do studenta takiego jak ja, lata 90. było dawno temu), mieliśmy płyty główne AT (Advanced Technology) zMoc AT zarządzanie. System zasilania AT był bardzo, bardzo prosty. Przycisk zasilania komputera był przełącznikiem sprzętowym (prawdopodobnie z tyłu obudowy), a wejście 120vac przeszło przez to. Fizycznie włączał i wyłączał zasilanie twojego zasilacza, a kiedy ten przełącznik był w pozycji Off, wszystko w twoim komputerze było całkowicie martwe (to sprawiło, że bateria CMOS była bardzo ważna, ponieważ bez niej nie było zasilania, aby utrzymać sprzęt tykanie zegara). Ponieważ przełącznik zasilania był mechanizmem fizycznym, nie było żadnego oprogramowania do włączania i wyłączania zasilania. System Windows wyświetliłby słynny komunikat "Teraz można bezpiecznie wyłączyć komputer", ponieważ mimo, że wszystko było zaparkowane i gotowe do wyłączenia, system operacyjny nie był w stanie obrócić przełącznika zasilania. Ta konfiguracja była czasami określana jakotwarda moc, ponieważ to cały sprzęt.

W dzisiejszych czasach rzeczy wyglądają inaczej, ze względu na cuda płyt głównych ATX iMoc ATX (to zaawansowana technologia eXtended, jeśli śledzisz postęp). Wraz z szeregiem innych postępów (mini-DIN PS / 2, ktoś?), ATX przyniósłdelikatna siła. Miękka moc oznacza, że ​​zasilanie komputera może być kontrolowane przez oprogramowanie. Spowodowało to kilka zmian w imporcie:

  • Moc gotowości: być może widzieliście złącze "5v SB" lub "5v standby" oznaczone na pinezkach zasilania. Thezapasowy zasilacz to linia 5v do płyty głównej, która jest zawsze włączona, nawet gdy komputer jest wyłączony. Dlatego ważne jest, aby odłączyć lub wyłączyć twardy przełącznik zasilacza (jeśli jest obecny) podczas obsługi nowoczesnych komputerów, ponieważ nawet gdy jest wyłączony, możesz potencjalnie skrócić SB 5v i uszkodzić płytę główną. Właśnie dlatego baterie CMOS nie są już tak ważne - 5V SB jest używany do wymiany baterii CMOS, gdy tylko zasilanie ma zasilanie z sieci, więc bateria CMOS jest używana tylko przy całkowitym odłączeniu komputera. Linia 5v SB znacząco pozwala komponentom komputera (przede wszystkim BIOS i kartom sieciowym) na prowadzenie prostego oprogramowania, nawet gdy komputer jest wyłączony.
  • Inteligentna kontrola zasilania. Jeśli spojrzysz na wyprowadzenie złącza płyty głównej zasilacza (P1), zauważysz dwie szpilki oznaczone zazwyczaj etykietąPS_ON iPS_RDY. Są to oznaczenia "zasilanie włączone" i "zasilanie gotowe". Jeśli chcesz eksperymentować, weź zasilacz nie w komputerze, podłącz go i ostrożnie zwieraj linię uziemiającą (jeden z czarnych przewodów) do linii PS_ON (zielony przewód). Zasilanie włączy się wyraźnie, gdy wentylator się obróci. Komponenty płyty głównej z + 5v SB faktycznie włączają i wyłączają zasilanie poprzez podłączenie zasilania do pin PS_ON. Ponieważ w zasilaczu znajdują się kondensatory i inne elementy, które wymagają ładowania, napięcia z głównych wyjść zasilacza mogą nie być stabilne natychmiast po włączeniu zasilacza. Właśnie do tego służy pin PS_RDY, włącza się, gdy wewnętrzna logika zasilacza określa, że ​​zasilanie jest "gotowe" i zapewni stabilną moc. Płyta główna czeka, aż PS_RDY się uruchomi.

Twój wyłącznik zasilania nie "włącza" komputera. Zamiast tego jest on podłączony do podstawowych kontrolerów płyty głównej, które wykrywają, że przycisk został naciśnięty i wykonują wiele kroków, aby przygotować system, w tym rozjaśnienie PS_ON, aby moc była dostępna. Przycisk zasilania nie jest jedynym sposobem wyzwalania procesu uruchamiania, mogą to również zrobić urządzenia na twojej magistrali rozszerzeń. Jest to ważne, ponieważ twoje sieciowe karty sieciowe faktycznie pozostają włączone, kiedy twój komputer jest wyłączony i szukają bardzo specyficznego pakietu, często nazywanego "magicznym pakietem". Jeśli wykryją ten pakiet zaadresowany na swój adres MAC, uruchomią proces uruchamiania . Tak działa "Wake-on-LAN" (WoL).Zegar może także zainicjować rozruch (większość BIOS-u pozwala ustawić czas, który komputer powinien uruchamiać każdego dnia), a urządzenia USB i FireWire mogą uruchamiać rozruch, chociaż nie jestem świadomy żadnej jego implementacji.

Zrozumienie sterowania mocą

Cóż, wyjaśniam Soft Power zarówno dlatego, że myślę, że jest interesujący (zawsze kluczowy powód, dla którego wyjaśniam rzeczy), jak i dlatego, że pozwala ci zrozumieć, w jaki sposób moc i stan pracy / wyłączenia komputera są kontrolowane przez oprogramowanie. W większości obecnych komputerów ten system oprogramowania jest implementacjąZaawansowana konfiguracja i interfejs zasilania lub interfejs ACPI. ACPI to ustandaryzowany, zunifikowany system, który pozwala oprogramowaniu kontrolować system zasilania komputera. Być może słyszałeś oStany mocy ACPI. Podstawowym mechanizmem sterowania mocą są te "stany mocy", twój system operacyjny przełącza tryby zasilania przygotowując się do przełącznika (procesy wyłączania / hibernacji, które mają miejsce przed odłączeniem zasilania), a następnie nakazując płycie głównej przełączanie stanów zasilania . Stany mocy wyglądają tak:

  • G0: Praca (stan "włączony" komputera)
  • G1: Spanie (stany gotowości komputera, podzielone na podstanu S)
    • S1: moc do CPU i RAM pozostaje włączona, ale procesor nie wykonuje instrukcji. Urządzenia peryferyjne są wyłączone.
    • S2: CPU wyłączony, pamięć RAM jest zachowana
    • S3: Wszystkie komponenty zostały wyłączone, z wyjątkiem pamięci RAM i urządzeń, które wyzwalają wznowienie (klawiaturę). Kiedy powiesz swojemu systemowi, żeby "spał", zatrzyma procesy, a następnie przejdzie do tego trybu.
    • S4: Hibernacja. Absolutnie wszystko jest wyłączone. Po przekazaniu systemu operacyjnego do stanu hibernacji zatrzymuje procesy, zapisuje zawartość pamięci RAM na dysku, a następnie przechodzi do tego trybu.
  • G2: Miękkie wyłączenie. jest to stan "wyłączony" komputera. Zasilanie jest wyłączone na wszystko oprócz urządzeń, które mogą uruchomić rozruch.
  • G3: Wyłączenie mechaniczne.

Jak resetuje się rzeczywiście

Zauważysz, że restart nie jest jednym z tych stanów. Co się właściwie dzieje, gdy komputer uruchamia się ponownie? Odpowiedź może być zaskakująca, ponieważ z punktu widzenia zarządzania energią jestprawie nic. Jestpolecenie resetowania ACPI. Kiedy powiesz systemowi, że chcesz się zrestartować, działa zgodnie z normalnym procesem zamykania (zatrzymuje wszystkie procesy, wykonuje pewne czynności konserwacyjne, odinstalowuje systemy plików, itd.), A następnie, jako ostatni krok, zamiast przesyłać maszynę do stanu zasilania G2 (tak jakby to było, gdybyś po prostu powiedział, żeby Shut Down) ustawił polecenie Reset. Jest to ogólnie określane jako "Rejestr resetowania", ponieważ podobnie jak większość interfejsu ACPI jest to tylko adres, do którego powinna zostać zapisana określona wartość, aby zażądać resetu. Zacytuję specyfikację 2.0 dotyczącą tego, co robi:

Opcjonalny mechanizm resetowania ACPI określa standardowy mechanizm zapewniający pełne zresetowanie systemu. Po zaimplementowaniu ten mechanizm musi zresetować cały system. Obejmuje to procesory, główną logikę, wszystkie magistrale i wszystkie urządzenia peryferyjne. Z punktu widzenia OSPM, zapewnienie mechanizmu resetowania jest logicznym odpowiednikiem mocy przełączania urządzenia. Po uzyskaniu kontroli po zresetowaniu, OSPM wykona akcje w podobny sposób do zimnego rozruchu.

Tak więc po ustawieniu rejestru resetu kilka rzeczy dzieje się kolejno.

  • Cała logika jest resetowana. Oznacza to wysłanie odpowiednich komend resetowania do różnych elementów sprzętowych, w tym procesora, kontrolera pamięci, kontrolerów urządzeń peryferyjnych itp. W większości przypadków oznacza to po prostu zapalenie fizycznego kabla RST, tak jak pokazał to AndrejaKo powyżej.
  • Komputer jest następnie bootstrapped. To jest "wykonuj czynności w podobny sposób do zimnego rozruchu". Płyta główna wykonuje te same kroki, co w przypadku, gdy zasilacz stał się gotowy po naciśnięciu przycisku zasilania.

Końcowym efektem tych dwóch kroków (które faktycznie rozpadają się na wiele więcej kroków) jest to, że wygląda na wszystko tak, jak komputer po prostu uruchomiony, ale moc była w rzeczywistości przez cały czas. Oznacza to mniej czasu potrzebnego na zamknięcie i uruchomienie (ponieważ nie trzeba czekać, aż zasilacz stanie się gotowy), a co ważniejsze, możliwe jest uruchomienie rozruchu przez zamknięcie systemu operacyjnego. Oznacza to, że inny wyzwalacz uruchamiania nie musi być używany (WoL itp.) I pozwala na użycie Reboot jako skutecznego sposobu zdalnego resetowania systemu, gdy nie masz sposobu na uruchomienie rozruchu.

To była długa odpowiedź. Ale hej, mam nadzieję, że wiesz teraz więcej o zarządzaniu energią komputera. Z pewnością nauczyłem się kilku rzeczy, które to badają.

Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.