Ждущий режим
Жду́щий режи́м (англ. 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 режимы в телевизорах, аудиосистемах, ресиверах спутникового телевидения предназначались не столько для энергосбережения, сколько для удобства управления: дистанционное включение и выключение, не требующее физического доступа к устройству.
Базовый принцип одинаков: в ждущем режиме функционируют лишь блок питания и части схемы, отвечающие за пробуждение устройства по сигналу пользователя.


