Как мой компьютер может перезагрузить себя?
Это настолько обычное занятие, что большинство из нас, вероятно, никогда не задумывались об этом: автоматический перезапуск. Будь то пользователь или приложение, что именно происходит, когда ваш компьютер работает самостоятельно?
Сегодняшняя сессия Вопросов и Ответов приходит к нам благодаря SuperUser - подразделению Stack Exchange, групповой группе веб-сайтов вопросов и ответов..
Вопрос
Читатель SuperUser Сет Карнеги интересуется, как управлять питанием компьютера:
Как компьютер может перезагрузить себя? После того, как он выключен, как он говорит себе, чтобы вернуться снова? Какое программное обеспечение это может сделать это?
Как на самом деле? Какая комбинация программного / аппаратного волшебства делает это возможным?
Ответ
Участник SuperUser Jcrawfordor предлагает как сжатый, так и подробный ответ на вопрос, который более чем адекватно решает вопрос:
Слишком долго не читал ответ Состояния питания на вашем компьютере контролируются реализацией ACPI (расширенная конфигурация и интерфейс питания). В конце процесса завершения работы ваша операционная система устанавливает команду ACPI, указывающую, что компьютер должен перезагрузиться. В ответ материнская плата сбрасывает все компоненты, используя их соответствующие команды или строки сброса, а затем следует процессу начальной загрузки. Материнская плата фактически никогда не выключается, она только сбрасывает различные компоненты, а затем ведет себя так, как будто кнопка питания только что нажата.
Долго и бессвязно, но (на мой взгляд) более интересный ответ:
Мягкая сила и как она работает
В старину (ну, ладно, для студента колледжа, как я, 90-е годы были давным-давно), у нас были AT (Advanced Technology) материнские платы с AT мощность управление. Система питания AT была очень, очень простой. Кнопка питания на вашем компьютере была аппаратным переключателем (вероятно, в задней части корпуса), и ваш вход 120 В переменного тока прошел прямо через него. Он физически включал и выключал электропитание вашего источника питания, и когда этот переключатель находился в положении «Выкл.», Все в вашем компьютере было полностью разряжено (это делало батарею CMOS очень важной, потому что без нее не было бы источника питания для хранения оборудования часы тикают). Поскольку выключатель питания был физическим механизмом, не было программного способа включения и выключения питания. Windows будет показывать знаменитое сообщение «Теперь можно безопасно выключить компьютер», потому что, хотя все было припарковано и готово к отключению, ОС не смогла фактически щелкнуть выключателем питания. Эта конфигурация иногда упоминалась как жесткая сила, потому что это все оборудование.
В настоящее время все по-другому, из-за чудес материнских плат ATX и Мощность ATX (это Advanced Technology eXtended, если вы отслеживаете). Наряду с рядом других достижений (мини-DIN PS / 2, кто-нибудь?), ATX принес мягкая сила. Мягкое питание означает, что питание компьютера может контролироваться программным обеспечением. Это принесло несколько изменений импорта:
- Питание в режиме ожидания: возможно, вы видели разъем «5v SB» или «5v standby», помеченный в выводах блока питания. резервный источник питания это линия 5 В к материнской плате, которая всегда включена, даже когда компьютер выключен. Вот почему при обслуживании современных компьютеров важно отключать или выключать жесткий выключатель блока питания (если он есть), потому что даже когда он выключен, вы можете потенциально замкнуть 5В SB и повредить материнскую плату. Вот почему батареи CMOS на самом деле уже не так важны - 5В SB используется для замены батареи CMOS всякий раз, когда источник питания питается от сети, поэтому батарея CMOS используется только при полном отключении компьютера от сети. Линия 5В SB позволяет компонентам вашего компьютера (особенно BIOS и сетевым адаптерам) поддерживать простое программное обеспечение, даже когда компьютер выключен..
- Интеллектуальное управление питанием. Если вы посмотрите на распиновку разъема материнской платы (P1) блока питания, вы заметите два контакта, которые обычно помечены PS_ON а также PS_RDY. Они означают «источник питания включен» и «источник питания готов». Если вы любите экспериментировать, возьмите блок питания не в компьютере, подключите его и осторожно замкните линию заземления (один из черных проводов) к линии PS_ON (зеленый провод). Блок питания заметно включится, вентилятор начнет вращаться. Компоненты материнской платы, работающие от + 5В SB, фактически включают и выключают питание, подключая питание к выводу PS_ON. Поскольку в источнике питания есть некоторые конденсаторы и другие компоненты, для зарядки которых требуется некоторое время, напряжения на главных выходах источника питания могут быть нестабильными сразу после включения блока питания. Это то, для чего предназначен вывод PS_RDY, он включается, когда внутренняя логика блока питания определяет, что блок питания «готов» и будет обеспечивать стабильное питание. Материнская плата ждет, пока PS_RDY включен, чтобы продолжить загрузку.
Таким образом, ваш выключатель питания больше не «включает» компьютер. Вместо этого он подключен к базовым контроллерам вашей материнской платы, которые обнаруживают, что кнопка была нажата, и выполняют ряд шагов для подготовки системы, в том числе загораются PS_ON, чтобы было доступно питание. Кнопка питания - не единственный способ запуска процесса запуска, устройства на вашей шине расширения также могут это сделать. Это важно, потому что ваши сетевые адаптеры Ethernet фактически остаются включенными, когда ваш компьютер выключен, и ищут очень специфический пакет, часто называемый «Волшебный пакет». Если они обнаружат этот пакет, адресованный их MAC-адресу, они запустят процесс запуска. , Вот как работает «Wake-on-LAN» (WoL). Часы также могут инициировать загрузку (большинство BIOS позволяют устанавливать время, в течение которого компьютер должен загружаться каждый день), а устройства USB и FireWire могут запускать загрузку, хотя я не знаю ни о какой реализации этого..
Понимание управления питанием
Ну, я объясняю, что такое Soft Power, потому что я думаю, что это интересно (всегда ключевая причина, по которой я это объясняю), и потому, что это позволяет вам понять, как программное обеспечение управляет питанием и состоянием / выключением вашего компьютера. В большинстве современных компьютеров эта программная система является реализацией Расширенная конфигурация и интерфейс питания, или ACPI. ACPI - это стандартизированная, унифицированная система, позволяющая программному обеспечению контролировать систему питания вашего компьютера. Возможно, вы слышали о Состояния питания ACPI. Основным механизмом управления питанием являются эти «состояния питания», ваша операционная система переключается между режимами питания, подготавливаясь к переключению (процессы выключения / гибернации, которые происходят до фактического отключения питания), а затем приказывая материнской плате переключать состояния питания. , Состояния власти выглядят так:
- G0: Работает (ваш компьютер включен)
- G1: Спящий режим (состояние ожидания вашего компьютера, разделенное на S подсостояний)
- S1: питание ЦП и ОЗУ остается включенным, но ЦП не выполняет инструкции. Периферийные устройства отключены.
- S2: процессор выключен, оперативная память поддерживается
- S3: Все компоненты отключены, кроме оперативной памяти и устройств, которые будут вызывать возобновление (клавиатура). Когда вы говорите своей ОС «Sleep», она останавливает процессы и затем входит в этот режим.
- S4: Спящий режим. Абсолютно все выключено. Когда вы передаете свою операционную систему Hibernate, она останавливает процессы, сохраняет содержимое оперативной памяти на диск и затем переходит в этот режим..
- G2: Soft Off. это состояние вашего компьютера выключено. Питание отключено для всего, кроме устройств, которые могут вызвать загрузку.
- G3: Механическое выключение.
Как происходит сброс?
Вы заметите, что перезагрузка не является одним из этих состояний. Так что же на самом деле происходит, когда ваш компьютер, когда он перезагружается? Ответ может быть удивительным, потому что с точки зрения управления питанием это почти ничего. Есть команда сброса ACPI. Когда вы говорите операционной системе, что она перезагружается, она следует своему обычному процессу выключения (останавливает все ваши процессы, выполняет небольшое обслуживание, отключает ваши файловые системы и т. Д.), А затем в качестве последнего шага, вместо того, чтобы переводить компьютер в состояние питания. G2 (как если бы вы просто сказали отключить) устанавливает команду Reset. Обычно это называется «регистр сброса», потому что, как и большинство интерфейсов ACPI, это просто адрес, на который следует записать определенное значение для запроса сброса. Я процитирую спецификацию 2.0 о том, что она делает:
Необязательный механизм сброса ACPI определяет стандартный механизм, обеспечивающий полный сброс системы. При реализации этот механизм должен сбрасывать всю систему. Это включает в себя процессоры, логику ядра, все шины и все периферийные устройства. С точки зрения OSPM утверждение механизма сброса является логическим эквивалентом выключения и включения питания машины. Получив контроль после сброса, OSPM выполнит действия, аналогичные холодной загрузке..
Итак, когда установлен регистр сброса, несколько вещей происходит последовательно.
- Вся логика сброшена. Это означает отправку соответствующих команд сброса на различные биты аппаратного обеспечения, включая ЦП, контроллер памяти, периферийные контроллеры и т. Д. В большинстве случаев это просто означает включение физического провода RST, как показано выше на AndrejaKo..
- Затем компьютер загружается. Это часть «выполнить действия, аналогичные« холодной загрузке »». Материнская плата выполняет те же действия, что и в случае готовности блока питания после нажатия кнопки питания..
Конечный эффект этих двух шагов (которые на самом деле делятся на гораздо больше шагов) заключается в том, что все выглядит так же, как только что загруженный компьютер, но питание фактически было включено все время. Это означает меньше времени, необходимого для выключения и запуска (так как вам не нужно ждать, пока блок питания не будет готов), и, что важно, позволяет инициировать загрузку после завершения работы операционной системы. Это означает, что другой запуск запуска не требуется (WoL и т. Д.), И позволяет использовать перезагрузку как эффективный способ удаленного сброса системы, когда у вас нет способа инициировать загрузку.
Это был длинный ответ. Но, надеюсь, теперь вы знаете больше об управлении питанием компьютера. Я определенно узнал некоторые вещи, исследуя это.
.