Ждущий режим

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

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

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

Ситуация изменилась с появлением персональных компьютеров. Всё большее распространение получили случаи, когда компьютером пользовался один человек или несколькими людьми с большими интервалами между сессиями работы, что привело к увеличению доли времени его простоя. К началу—середине 1990-х годов встала задача энергосбережения при эксплуатации компьютерной техники[1].

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

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

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

Ждущий и спящий режимы

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

Согласно спецификации ACPI[3], состояния S1...S5 считаются ступенями режима сна. Для пользователя имеет значение только сохранение питания: его наличие означает, что сбой питания приведёт к потере не сохранённых данных. Таким образом, различают два вида энергосберегающих режимов:

  • В режиме, где необходима подача питания, его отключение недопустимо:
 - Ждущий режим в Microsoft Windows до версии Windows Vista[4], а также в большинстве графических оболочек Unix (например, Unity)[5].
 - Сон, спящий режим, режим сна — в Windows начиная с Windows Vista[6].
  • В режиме, не требующем сохранения питания после перехода:
 - Спящий режим — в Microsoft Windows до Vista и во многих графических оболочках Linux.
 - Гибернация — в Microsoft Windows с Vista и выше.

В Mac OS X разграничения по наименованиям режимов нет: в меню присутствует только пункт «Режим сна». Внутренне же различают режим Power Nap, режим ожидания и безопасный режим сна[7]. Особенности реализации обусловлены аппаратом фирмы Apple, где управление питанием возложено на SMC-контроллер[8].

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

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

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

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

При отсутствии поддержки управления питанием в операционной системе функции управления остаются у BIOS. В зависимости от сочетания ACPI-совместимости оборудования и операционной системы возможны такие варианты управления питанием:

Оборудование\ОС ОС без ACPI ОС с ACPI
ACPI-несовместимое Функции полностью определены аппаратным обеспечением Если ОС не поддерживает специальные функции энергосбережения оборудования, функции остаются за аппаратным обеспечением
Смешанное оборудование Функции определены аппаратным обеспечением ОС переводит совместимое оборудование в OSPM/ACPI режим и берёт на себя управление питанием
Только ACPI-совместимое Функции управления питанием не используются Полная поддержка OSPM/ACPI режима

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

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

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

Операционная система принимает решение о переходе по таймеру бездействия: отсчёт начинается с последнего события ввода пользователя. По истечении установленного времени система проверяет, не запрещён ли переход приложением, и при возможности инициирует ждущий режим через ACPI или, реже, таблицы BIOS.

Аналоги ждущего режима в бытовой технике

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

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

Примечания