W jaki sposób mój komputer może się ponownie uruchomić?
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 jest dostępna dzięki uprzejmości SuperUser - podsekcji Stack Exchange, grupy dyskusyjnej poświęconej tematyce społecznościowej.
Pytanie
Czytnik SuperUser Seth Carnegie zastanawia się nad zarządzaniem energią komputera:
Jak można ponownie uruchomić komputer? Po tym, jak to się powtarza, aby ponownie się włączyć? Jaki rodzaj oprogramowania 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 odpowiada na pytanie:
Zbyt długo, nie przeczytałem odpowiedzi: Stany zasilania w twoim komputerze są kontrolowane przez implementację interfejsu ACPI (zaawansowany interfejs konfiguracji i zasilania). Pod koniec 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) z Moc 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 wyłączonej, wszystko w twoim komputerze było całkowicie martwe (to spowodował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 programowego sposobu 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 jako twarda moc, ponieważ to cały sprzęt.
W dzisiejszych czasach rzeczy wyglądają inaczej, ze względu na cuda płyt głównych ATX i Moc ATX (to zaawansowana technologia eXtended, jeśli śledzisz postęp). Wraz z szeregiem innych postępów (mini-DIN PS / 2, ktoś?), Przyniósł ATX 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 Państwo złącze "5v SB" lub "5v standby" oznaczone na pinezkach zasilania. The zapasowy 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 serwisowania 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 sieciowe, 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 utrzymywanie 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 i PS_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 podłączony do podstawowych kontrolerów na płycie głównej, które wykrywają, że przycisk został naciśnięty i wykonać kilka 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 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 również zainicjować rozruch (większość BIOS-u pozwala ustawić czas uruchamiania komputera każdego dnia), a urządzenia USB i FireWire mogą uruchomić rozruch, chociaż nie jestem świadomy żadnej implementacji tego.
Zrozumienie kontroli mocy
Cóż, wyjaśniam Soft Power zarówno dlatego, że myślę, że to interesujące (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ś o Stany 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łączenie 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 na procesor i pamięć RAM pozostaje włączona, ale procesor nie wykonuje instrukcji. Urządzenia peryferyjne są wyłączone.
- S2: CPU jest wyłączony, pamięć RAM jest zachowana
- S3: Wszystkie komponenty wyłączone, z wyjątkiem pamięci RAM i urządzeń, które wyzwalają wznowienie (klawiaturę). Kiedy powiesz systemowi, aby "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, z wyjątkiem urządzeń, które mogą wyzwalać rozruch.
- G3: Wyłączenie mechaniczne.
Jak resetuje się rzeczywiście
Zauważysz, że ponowne uruchomienie 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ą jest prawie nic. Jest polecenie 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 resetu", 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 w cyklu pracy maszyny. 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 poleceń resetowania do różnych elementów sprzętowych, w tym procesora, kontrolera pamięci, kontrolerów urządzeń peryferyjnych itd. W większości przypadków oznacza to po prostu zapalenie fizycznego kabla RST, ponieważ AndrejaKo pokazał się powyżej..
- Komputer jest następnie bootstrapped. To jest "wykonywanie czynności w podobny sposób do zimnego rozruchu". Płyta główna wykonuje te same czynności, 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 dużo więcej kroków) jest to, że wygląda na wszystko tak, jak komputer właśnie 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ć na doprowadzenie zasilania do stanu gotowości), a co ważniejsze umożliwia inicjowanie 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ą.
.