Я хотел бы знать, что происходит, когда я приостановил работу своего ноутбука, а затем - скажем, через 10 часов разрядился аккумулятор, так как приостановленное состояние все еще расходует аккумулятор, и питание не было подключено.

Находится ли компьютер в режиме гибернации (если доступен своп) или выключается, и как можно контролировать, что происходит? Я предполагаю, что оставшийся заряд ~ 5% может вызвать некоторую обработку, так что компьютер выключается, но как это происходит, поскольку в состоянии ожидания обработка вообще отключена?

Я использую Linux, но в принципе было бы хорошо узнать, что происходит с Windows и Mac.

1 ответ1

1

Мы знаем, что ОС может контролировать срок службы батареи с помощью ACPI - именно так она дает вам точное измерение в процентах и когда она знает, чтобы автоматически переводить компьютер в спящий режим при очень низком заряде батареи. Тем не менее, пока ноутбук приостановлен, мы знаем, что ОС не работает - она в основном приостановлена, поэтому она не может контролировать батарею в течение этого времени.

Но пока ОС спит, BIOS и ACPI по-прежнему работают в фоновом режиме - они должны быть включены, чтобы иметь возможность включить компьютер независимо от того, хотите ли вы это или нужно. Другими словами, ACPI постоянно контролирует батарею (как обычно), и когда он достигает предопределенного порога (я думаю, что подходит от 5% до 10%), он активирует прерывание и заставляет компьютер просыпаться, просто как вы бы подняли крышку, нажали кнопку Power, Wake-on-Lan и т. д.

Но разве это не потребует больше энергии? Да, но только для того, чтобы ОС могла возобновить работу, сразу же увидеть, что батарея критически разряжена, а затем сохранить файлы и корректно завершить работу или перейти в спящий режим.

ОС не может определить срок службы батареи в режиме ожидания, и ACPI не может знать, какие данные необходимо сохранить / выгрузить на диск, поэтому ACPI принудительно разбудит ПК, когда батарея разрядится, и ОС должна (теоретически) позаботиться остального.

Что касается операционных систем, я бы предположил, что один и тот же протокол применяется ко всем 3 основным системам (Linux, Windows и MacOS). Мы знаем, что это происходит, когда батарея все равно разряжается, поэтому все, что нужно компьютеру, это разбудить его и позволить ОС позаботиться обо всем остальном.

Источник: я не нашел надежного источника того, что я сказал здесь легко, в Интернете, хотя сегодня я неформально спросил моего профессора, который преподает встраиваемые системы, и он согласился, что ACPI должен вызвать пробуждение системы, чтобы она могла действовать. Он упомянул, что это очень сильно зависит от типа используемой системы - небольшое устройство, использующее простой микроконтроллер (например, счетчик небольшого числа), может не иметь такой сложности и просто отключиться при разрядке батареи, но для чего-то вроде компьютера существует почти всегда протокол непредвиденных обстоятельств для потери мощности. Для этой самой вещи в BIOS могут быть дополнительные параметры ACPI, но это зависит от производителя. На моем собственном Thinkpad я не видел ничего подобного, поэтому я не могу дать вам первичные доказательства по этому поводу, но возьмите его у моего профессора :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .