Това е такава често срещана дейност, която повечето от нас никога не са спирали дори да мислят за това: автоматичното рестартиране. Независимо дали е стартиран от потребителя или от приложението, какво точно се случва, когато компютърът ви циклизира собствената си мощност?
Днешната сесия за въпроси и отговори се отнася до нас с любезното съдействие на SuperUser - подразделение на Stack Exchange, обединяване на уеб сайтове с въпроси и отговори.
Reader на SuperUser Seth Carnegie се чуди за управлението на мощността на компютъра:
Как може да се рестартира компютърът? След като е изключено, как се казва отново да се върне? Какъв софтуер може да направи това?
Как наистина? Каква комбинация от софтуер / хардуерна магия прави това да се случи?
Сътрудникът на SuperUser Jcrawfordor предлага както обобщен, така и подробен отговор на въпроса, който повече от адекватно адресира въпроса:
Твърде дълго, не го четеше отговор: Силовите състояния на компютъра се контролират от внедряването на ACPI (разширена конфигурация и интерфейс за захранване). В края на процеса на изключване операционната ви система задава команда ACPI, която показва, че компютърът трябва да се рестартира. В отговор дънната платка нулира всички компоненти, като използва съответните им команди или редове за нулиране, след което следва процеса на стартиране. Дънната платка никога не се изключва, само възстановява различни компоненти и след това се държи така, сякаш току-що е натиснат бутонът за захранване.
Дълги и неспокойни, но (по мое мнение) по-интересен отговор:
В старите дни (добре, добре, за един студент като мен през 90-те години беше много отдавна), имахме AT (Advanced Technology) дънни платки сAT мощност управление. АТ системата беше много, много проста. Бутонът за захранване на компютъра ви е хардуерен превключвател (вероятно в задната част на касетата) и входът ви от 120vac преминава през него. Тя физически включи и изключи захранването на вашия захранващ източник и когато този превключвател е в положение Off, всичко в компютъра ви е напълно мъртво (това прави батерията CMOS много важна, защото без нея нямаше захранване, което да запази хардуера часовник). Тъй като превключвателят на захранването беше физически механизъм, нямаше софтуер за включване и изключване на захранването. Windows ще покаже известната "Сега е безопасно да изключите компютъра си" съобщение, защото, въпреки че всичко е паркирано и готово да се изключи, не е възможно за операционната система всъщност да обърнете превключвателя на захранването. Тази конфигурация понякога се наричашетвърда мощност, защото всичко е хардуер.
Днес нещата са различни, заради чудесата на дънните платки и ATXATX мощност (това е Advanced Technology eXtended, ако следите). Наред с редица други подобрения (мини-DIN PS / 2, всеки?), ATX донесемека сила, Мекото захранване означава, че мощността на компютъра може да се управлява от софтуер. Това доведе до няколко промени в импортирането:
Така че вашият превключвател за захранване вече не "включва" компютъра. Вместо това, той е свързан към основните контролери на дънната платка, които откриват, че бутонът е бил натиснат и изпълни няколко стъпки за подготовка на системата, включително включване на PS_ON, за да може да има достъп. Бутонът за захранване не е единственият начин да задействате процеса на стартиране, а устройствата на шината ви за разширение също могат да направят това. Това е важно, защото вашите ethernet мрежови адаптери всъщност остават, когато компютърът ви е изключен и търсят много специфичен пакет, често наричан "магически пакет". Ако установят този пакет, адресиран до техния MAC адрес, те ще задействат процеса на стартиране , Така работи "Wake-on-LAN" (WoL).Часовникът може също така да стартира обувка (повечето BIOS ви позволяват да зададете време, което компютърът трябва да зарежда всеки ден), а устройствата с USB и FireWire могат да задействат обувка, въпреки че не съм запознат с каквото и да било прилагане на това.
Е, обяснявам нещо Soft Power както защото мисля, че е интересно (винаги е основна причина, поради която обяснявам нещата), и защото ви позволява да разберете как силата и състоянието на бягане и изключване на вашия компютър са контролирани от софтуера. В повечето текущи компютри тази софтуерна система е изпълнение наРазширено конфигуриране и захранващ интерфейс или ACPI, ACPI е стандартизирана, унифицирана система, позволяваща софтуер за управление на електрозахранването на вашия компютър. Може би сте чували заACPI мощност състояния, Основният механизъм за управление на мощността е тези "състояния на мощността", операционната ви система превключва през режимите на захранване, като се подготвя за превключване (процесите на изключване / хибернация, които се случват преди да влезе в сила) и след това командване на дънната платка, , Мощните състояния изглеждат така:
Ще забележите, че рестартирането не е едно от тези състояния. И така, какво всъщност се случва, когато компютърът ви се рестартира? Отговорът може да е изненадващ, защото от гледна точка на управлението на захранването е такапочти нищо, Имакоманда за нулиране на ACPI, Когато кажете на операционната ви система да се рестартира, тя следва своя нормален процес на изключване (спира всичките ви процеси, изпълнява малко поддръжка, сваля файловите системи и т.н.) и после като последна стъпка, вместо да изпрати машината в състояние на захранване G2 (както бихте го казали, ако сте го казали да изключите), той задава командата Reset. Това обикновено се нарича "Reset register", тъй като като повечето от ACPI интерфейса, това е просто адрес, на който трябва да се напише конкретна стойност, за да поискате нулиране. Ще цитирам спецификацията 2.0 за това, което прави:
Допълнителният механизъм за възстановяване на ACPI определя стандартен механизъм, който осигурява пълно възстановяване на системата. Когато се въведе, този механизъм трябва да нулира цялата система. Това включва процесори, основна логика, всички автобуси и всички периферни устройства. От гледна точка на OSPM, утвърждаването на механизма за нулиране е логически еквивалент на мощността, която се движи от машината. При придобиване на контрол след нулиране, OSPM ще изпълнява действия по подобен начин на студен ботуш.
Така че, когато се настрои регистърът за нулиране, няколко неща се случват последователно.
Крайният ефект на тези две стъпки (които всъщност се свеждат до много повече стъпки) е, че всичко изглежда точно като компютъра, който току-що е стартирал, но всъщност мощта е била през цялото време. Това означава по-малко време, необходимо за изключване и стартиране (тъй като не е нужно да чакате захранването да бъде готово) и е важно да се задейства стартирането на зареждането от изключването на операционната система. Това означава, че не е необходимо да се използва друг стартов тригер (WoL и т.н.) и ви позволява да използвате рестартирането като ефективен начин за дистанционно нулиране на системата, когато нямате начин да задействате зареждането.
Това беше дълъг отговор. Но хей, надявам се, че вече знаете повече за управлението на захранването на компютъра. Разбира се, научих някои неща, които изследват това.
Имате ли нещо, което да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други потребители на Stack Exchange? Вижте цялата тема на дискусията тук.