Ждущий режим


Ждущий режим (англ. sleep mode) — энергосберегающий режим работы компьютерного оборудования. Назначение режима — уменьшение потребления энергии устройством во время простоя. В отличие от спящего режима, для ждущего режима требуется аппаратная поддержка со стороны оборудования.

История возникновения и развитие режима

Изначально компьютерная техника находилась лишь в двух состояниях — работает и выключено. Это было связано прежде всего с тем, что на заре своего становления компьютерная техника представляла собой огромные машины, занимавшие большое пространство и потреблявшие много энергии, при этом один компьютер, как правило, обслуживал множество людей одновременно (см. мейнфрейм) и никогда не простаивал — существовала очередь людей, заранее заказывавших дефицитное машинное время и старавшихся максимально полно его использовать.

Всё изменилось лишь с появлением персональных компьютеров. Использование компьютерной техники одним человеком (или несколькими, но с значительным разнесением промежутков использования во времени) привело к тому, что процент времени простоя компьютерного оборудования всё возрастал. В конце концов, к началу-середине девяностых годов двадцатого столетия всё чаще стали возникать вопросы сохранения энергии.

Первыми шагами по сбережению энергии были введение режима энергосбережения у мониторов и лазерных принтеров. Как правило, мониторы и принтеры с таким режимом получали классификацию (и соответствующую наклейку) Energy Star. Суть режима была в отключении изображения путём выключения развёртки и понижения нагрева катодов кинескопа. В лазерных принтерах после определенного времени простоя или нажатием специальной кнопки снимается питание с исполнительных устройств, прежде всего с узла закрепления тонера. Переход в режим энергосбережения обычно обозначается соответствующим индикатором или сообщением на дисплее, при наличии подсветки она отключается. Режимов энергосбережения может быть несколько, последовательно включаемых по мере простоя оборудования, вплоть до полного отключения, требующего для включения вмешательства оператора. Такой подход значительно снижал энергопотребление монитора и печатающего устройства во время простоя оборудования. Сам компьютер в это время продолжал функционировать в рабочем режиме. Если компьютер действительно простаивал в это время, единственным способом как-то уменьшить его потребление была парковка головок жёсткого диска компьютера с последующей остановкой шпинделя.

Дальнейшие шаги по снижению потребления энергии при простое стали возможными после появления блоков питания стандарта ATX. Главной особенностью этих блоков питания является режим ожидания (англ. Standby), при котором блок питания отключает все выходные цепи, кроме специализированной линии +5В VSB, а перевод в рабочий режим производится путём подачи аналогового сигнала (то есть замыкания сигнальных контактов) блоку питания через кнопку включения. Блоки питания предшествующего стандарта, AT, выключались путём механической коммутации напряжения сети (220 вольт) через кнопку включения, соответственно, компьютер не мог обесточить сам себя (например, операционная система Microsoft Windows после завершения своей работы отображала надпись «Теперь питание компьютера можно отключить»).

В первых реализациях ждущего режима в компьютерных системах с блоками питания стандарта ATX при переходе в ждущий режим питание с компонентов системного блока не снималось полностью. Как и прежде, монитор переводится в режим энергосбережения (например, методами DPMS), парковался и останавливался жёсткий диск, а также приостанавливался CPU. С развитием технологий ACPI стало возможным снимать питание практически со всех устройств компьютера, оставляя под напряжением только дежурные цепи материнской платы и оперативной памяти. Такой режим даёт наибольшую экономию энергии, но в то же время для выхода из него в рабочий режим требуется и больше времени. Тем не менее, время выхода в рабочий режим исчисляется секундами, то есть гораздо быстрее, чем выход из режима гибернации.

Путаница с ждущим и спящим режимами

Поскольку в спецификациях ACPI, описывающих состояния энергопитания системы, нет указания названий для отдельных уровней «режимов сна» (sleeping states), а используются лишь символьные обозначения S1…S5, разные разработчики операционных систем давали разные названия для этих режимов в своей программной продукции, причём Microsoft ещё и по-разному называла режимы в разных версиях операционных систем Windows. Это привело к неоднозначности трактовки термина «спящий режим» и путанице с ждущим режимом.

Согласно спецификации, все режимы S1…S5 являются уровнями режима сна (sleeping states). Но поскольку для конечного пользователя нет разницы, какой именно уровень используется, но есть разница в необходимости сохранения питания или в отсутствии такой необходимости, разработчики программного обеспечения для конечных пользователей выделили два режима энергосбережения при простое: в одном режиме необходимо сохранение питания, и сбой питания приведёт к потере рабочего состояния (и всех не сохранённых данных пользователя), в другом сохранение питания не требуется и компьютер корректно возвращается в рабочий режим, в котором он был до перехода в режим энергосбережения.

Первый режим, в котором перебои электропитания недопустимы, имеет название:

  • Ждущий режим в Microsoft Windows до версии Windows Vista, в большинстве версий графических оболочек Unix, например, Unity
  • Сон, Спящий режим, Режим сна — в Microsoft Windows начиная с версии Windows Vista (хотя в свойствах устройств по-прежнему сохранена надпись «Разрешить этому устройству выводить компьютер из ждущего режима»)

Соответственно, второй режим, не требующий сохранения питания после перехода в этот режим, имеет названия:

  • Спящий режим в Microsoft Windows до версии Windows Vista, и в большинстве версий графических оболочек Linux
  • Гибернация в Microsoft Windows начиная с версии Windows Vista

В Mac OS X нет разграничения между режимами, и в меню есть лишь один пункт «Режим сна». Тем не менее, в документации упоминаются разные варианты режима:

  • режим Power Nap
  • режим ожидания
  • безопасный режим сна

Частично это объясняется политикой сокрытия «ненужных» технических деталей от пользователей, частично — специфичным оборудованием устройств фирмы Apple, в которых управление питанием возложено на специальный контроллер SMC.

Механизм действия

Процесс погружения оборудования в ждущий режим проходит в несколько этапов. Хотя принципы у всех компьютерных устройств общие, устройство и назначение разных устройств вносят свою специфику в реализацию ждущего режима.

С точки зрения экономии энергии, интерфейс OSPM (Operating System-directed configuration and Power Management), как часть ACPI, предлагает концепцию, согласно которой системы должны сокращать потребление энергии путём перевода своих устройств в режимы низкого потребления энергии, включая погружение всего устройства в «режим сна», если это возможно. Согласно спецификации, разработчики устройств вольны выбирать самостоятельно, как именно будет выполняться переход в ждущий режим, при условии единообразной поддержки с точки зрения операционной системы. Это позволяет разрабатывать аппаратное обеспечение и операционные системы независимо друг от друга, и освобождает разработчиков от выпуска обновлений своих ОС для поддержки нового оборудования, и наоборот — существующее ACPI-совместимое оборудование будет работать с будущими ОС.

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

В случае, если операционная система не берёт на себя функции управления питанием, эти функции остаются на попечении BIOS’а компьютера (или других выполняющих его функции управляющих схем). В зависимости от сочетания ACPI-совместимого оборудования и операционной системы, возможны следующие варианты управления питанием:

Интерфейсы и сама концепция OSPM определены в самой спецификации ACPI для всех классов компьютерной техники, включая, но не ограничиваясь, настольные, мобильные, серверные компьютеры и рабочие станции.

Настольные компьютеры, рабочие станции

Инициация входа в ждущий режим происходит либо пользователем (нажатием на специальную клавишу на клавиатуре, системном блоке или выбором соответствующего пункта меню), либо операционной системой, либо средствами BIOS (или UEFI в современных системах), если ОС не имеет поддержки ACPI.

Решение о переходе в ждущий режим принимается операционной системой на основе таймера пользовательской активности: этот таймер начинает отсчёт времени отсутствия активности с момента последнего нажатия пользователя на клавиши клавиатуры или компьютерной мыши, движения мыши, прикосновения к сенсорному экрану (для компьютеров, оборудованных им) и другого оборудования ввода (Human Interface Device). Когда таймер достигает установленного значения, операционная система проверяет, разрешён ли переход в ждущий режим. Если нет программ, запретивших переход, операционная система устанавливает необходимые значения регистров полей SLEEP_CONTROL_REG таблиц OSPM интерфейса и вызывает обработчик ACPI. Альтернативный вариант состоит в вызове соответствующих процедур, заявленных в таблицах BIOS’а.

Серверные компьютерные системы

Ноутбуки

Планшетные компьютеры и смартфоны

Аналог ждущего режима в не-компьютерной технике

Ещё до появления ждущего режима в ЭВМ, аналогичная технология появилась во множестве, в первую очередь бытовой, техники с дистанционным управлением. Причиной появления stand-by режимов в телевизорах, звуковоспроизводящей технике, системах приёма спутникового телевидения и т.д. в то время было не экономия электроэнергии, а простое удобство пользователей: устройством можно было не только управлять в обычном режиме его работы (например, переключать каналы телевизора), но и включать и выключать устройство без необходимости подходить непосредственно к устройству.

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

Проблемы программной поддержки