Ответ на вопрос
Гибернация (операционные системы)
Гибернация — режим сохранения состояния системы на энергонезависимом накопителе для последующего возобновления работы. В ACPI ему соответствует S4: питание памяти для сохранения сеанса не требуется, но отдельные компоненты могут оставаться под питанием[1].
Гибернация занимает промежуточное положение между спящим режимом и полным выключением. В спящем режиме память остаётся под напряжением, и работа возобновляется за секунды, но батарея разряжается даже в покое; при гибернации потребление падает до минимума, а плата за это — время на запись и последующее чтение образа памяти[2]. Именно поэтому режим распространён в портативных компьютерах: его вызывают перед длительной паузой или настраивают автоматическое срабатывание при низком заряде батареи.
Общие сведения
| Гибернация (операционные системы) | |
|---|---|
| Область использования | операционные системы, ноутбуки, встраиваемые и мобильные устройства |
| Дата появления | 1990-е (механизмы приостановки в портативных компьютерах); 1996 (спецификация ACPI закрепила состояния сна и гибернации) |
| Место появления | США (совместная работа Intel, Microsoft и Toshiba над спецификацией ACPI) |
| Ключевые слова | энергосбережение, подкачка страниц, флеш-память, контрольная сумма |
| Базовые понятия | оперативная память, энергонезависимая память, ACPI, загрузчик операционной системы |
История
Приостановка в портативных компьютерах
Первые механизмы приостановки появились в портативных компьютерах конца 1980-х — начала 1990-х годов: производители сохраняли содержимое памяти в специальный раздел накопителя, чтобы ноутбук, закрытый на время поездки, продолжал работу после открытия крышки. Средства работы с энергопотреблением тогда встраивались в прошивку, а операционная система лишь запускала переход по запросу пользователя. Параллельно разработчики микросхем памяти снижали потребление самих запоминающих устройств: в 1993 году был описан режим self-refresh DRAM, при котором микросхема обновляет ячейки малым током без вмешательства контроллера[3].
Стандартизация в спецификации ACPI
Разрозненные фирменные схемы мешали разработке программного обеспечения, и в 1996 году консорциум Intel, Microsoft и Toshiba опубликовал спецификацию ACPI, закрепившую стандартные состояния сна: от лёгкого ожидания S1 до гибернации S4, при которой образ памяти выгружается на накопитель, а также состояние мягкого выключения S5. Спецификация описывает и порядок возвращения: прошивка передаёт управление загрузчику, который обнаруживает действительный образ и восстанавливает систему вместо обычной загрузки[4]. С этого момента гибернация перестала быть фирменной особенностью отдельных моделей и вошла в массовые операционные системы.
Развитие в операционных системах
В линейке Windows механизм появился под названием «спящий режим» и получил привычное имя «гибернация» с выходом Windows Vista, которая добавила и гибридный спящий режим. В Linux долгое время действовали самостоятельные реализации приостановки на диск (в частности, подсистема swsusp, появившаяся в ядре 2.5/2.6), затем их свели в единую подсистему с документацией для разработчиков[5]. Обзорные работы об управлении питанием операционных систем фиксировали постепенный перенос решений из прошивки в ядро: планированием переходов стали заниматься сами системы[6].
Механика работы
Сохранение образа памяти
При переходе в гибернацию система приостанавливает процессы и выгружает образ оперативной памяти на накопитель в файл гибернации. Записываются только используемые страницы, а часть вытесненных страниц уже лежит в файле подкачки и не дублируется; поэтому размер образа обычно меньше объёма установленной памяти. В ряде реализаций на портативных компьютерах перед записью проверяется заряд батареи: недостаточный заряд вынуждает систему предупредить пользователя или отменить переход[7].
Восстановление при включении
При включении компьютера прошивка (BIOS или UEFI) выполняет обычную проверку устройств и передаёт управление загрузчику. Тот находит файл гибернации и сверяет его признаки: метку состояния, соответствие версии системы и контрольные суммы содержимого[8]. Если образ действителен, обычная загрузка пропускается: ядро восстанавливает страницы памяти, заново инициализирует устройства и драйверы, снимает процессы с паузы, и на экране возвращается та же картина, что была при выключении. Если же образ отсутствует или повреждён — например, после замены оборудования или ручного удаления файла, — система загружается заново, а несохранённые данные теряются[9].
Состояния сна и гибридные схемы
Спецификация ACPI различает состояния по тому, что именно остаётся под напряжением. В состояниях S1—S3 процессор и большая часть компонентов засыпают, но память продолжает обновляться: потребление невелико, однако не равно нулю. В состоянии S4, которым и является гибернация, питание снимается полностью (в отличие от S5 — мягкого выключения, и G3 — механического отключения питания). Гибридный спящий режим соединяет оба пути: образ памяти предварительно сохраняется на диск, но система остаётся в состоянии сна с питанием памяти (S3), и если питание не прерывалось, возвращение идёт со скоростью сна, а если прервалось — из образа[10]. Расход энергии во сне снижают и средства самих микросхем: режимы self-refresh сокращают ток регенерации ячеек[11][12].
Отличия от спящего режима и выключения
Выбор режима — компромисс между скоростью возвращения, расходом энергии и безопасностью данных. Спящий режим возвращает работу за секунды, но разряженная батарея означает потерю сеанса. Полное выключение надёжнее всего освобождает ресурсы системы. Практические руководства сводят выбор к длительности паузы: минуты — спящий режим, часы и дни — гибернация, перевозка и обслуживание — выключение[2]. Гибридные схемы стирают границу: система сама решает, когда дописать образ на диск, оставаясь во сне[10].
Производительность и накопители
Время перехода и возвращения
Длительность гибернации определяется объёмом образа, скоростью накопителя, степенью сжатия и работой драйверов. Оценка времени передачи данных , где — объём образа, а — эффективная скорость передачи, не учитывает все накладные расходы и не гарантирует преимущества перед холодной загрузкой. Замена механического жёсткого диска на твердотельный накопитель быстрого интерфейса сокращает и запись, и чтение образа в разы, поэтому на современных машинах переход стал заметно короче, чем в эпоху магнитных накопителей. Дополнительную экономию даёт сжатие образа перед записью: процессор тратит вычислительные ресурсы, но объём записи уменьшается, и на медленных накопителях общий выигрыш оказывается существенным[13].
Роль энергонезависимой памяти
Развитие накопителей меняет экономику режима. Энергонезависимая память флеш-типа в накопителях и устройствах на её основе и на шинах расширения снижает затраты на чтение больших образов, а исследования энергонезависимой оперативной памяти обещают вовсе устранить копирование: если память сама удерживает содержимое без питания, гибернация сводится к переводу запоминающего устройства в режим хранения и обратно. Описана стратегия приостановки на память с фазовым переходом, при которой образ не выгружается, а «отключается» вместе с носителем[14]. Свойства ферроэлектрической памяти, соединяющей быстрый доступ с энергонезависимостью, описаны и в русскоязычной литературе[15].
Энергия и экономия
Потребление в режимах ожидания
Расход энергии в состояниях ожидания различается на порядки. В спящем режиме память и дежурные контроллеры потребляют постоянную мощность: для ноутбука это доли ватта, которые за ночь складываются в ощутимую долю заряда аккумулятора. Исследования энергопотребления ноутбуков показывают, что режимы ожидания составляют заметную часть суточного расхода энергии устройством, и правильный выбор между сном и гибернацией экономит энергию без потери удобства[2]. Русскоязычные обзоры методов снижения потребления портативных устройств отмечают те же пропорции: экономичные состояния процессора и памяти дают основной вклад в продолжительность работы от батареи[16].
Автоматические переходы
Современные операционные системы настраивают переход в гибернацию по таймеру бездействия, по нажатию кнопки питания и закрытию крышки, а также по событию разряда батареи: при достижении критического уровня система сама сохраняет образ и отключается, спасая сеанс. Автоматический переход после долгого сна называют иногда «отложенной гибернацией»: сначала система просыпается из S3, затем, убедившись, что пауза затянулась, дописывает образ и гаснет. Прогнозирование остаточной ёмкости батареи помогает назначать этот переход заблаговременно[17].
Безопасность
Содержимое файла гибернации
Образ гибернации может содержать чувствительные сведения из памяти программ. Документация Linux предупреждает: изменение файловых систем между сохранением образа и возобновлением может привести к повреждению данных[5]. Защита образа и возможность его чтения зависят от реализации и настройки системы.
Целостность образа
Повреждённый или устаревший образ опаснее его отсутствия: восстановление в изменённое окружение способно привести к сбою. Поэтому при каждом переходе система записывает признаки совместимости — версию, конфигурацию оборудования, объём памяти, — а загрузчик сравнивает их с фактическим состоянием машины и отказывается восстанавливать несовместимый образ[8]. Контрольные суммы и журнал записи защищают от обрыва питания посреди сохранения: недописанный образ помечается недействительным, и следующее включение проходит как обычная загрузка[5].
Реализация в операционных системах
Windows
В Windows (начиная с Windows 8) полный файл hiberfil.sys поддерживает гибернацию, а уменьшенный — только быстрый запуск. Быстрый запуск сохраняет состояние ядра после завершения пользовательских сеансов[18]. Загрузчик при включении проверяет признаки действительного образа и восстанавливает сеанс вместо входа в систему[8]. Схема ожидания Modern Standby (начиная с Windows 8.1) объединяет сон и сетевую активность, сохраняя гибернацию как резервный путь при разряде батареи[10].
Linux
В Linux (начиная с ядра 2.6) приостановка на диск реализована в ядре: образ пишется в файл подкачки или отдельный раздел, а при включении ядро обнаруживает подпись образа и восстанавливает состояние. Документация ядра описывает ограничения: размер образа не должен превышать доступное пространство подкачки, а некоторые драйверы требуют повторной инициализации устройств[5]. Сообществом созданы и дополнительные реализации сжатия образа; порядок работы с образом опирается на общие механизмы виртуальной памяти, где страницы вытесняются и возвращаются по тем же правилам, что описаны для страничного обмена[19].
Другие операционные системы
Общие механизмы контрольных точек — сохранения согласованных снимков состояния — активно изучаются и за пределами настольных систем, вплоть до бессерверных вычислений, где быстрое возобновление из снимка заменяет холодный запуск[20]. Классические алгоритмы согласованных снимков с экономией памяти описаны ещё в работах о надёжных системах[21].
Перспективы
Направление развития определяют накопители и память. Энергонезависимая оперативная память обещает режим, при котором образ вообще не покидает запоминающее устройство[14]. Исследования снижения тока регенерации делают долгий сон всё дешевле, отодвигая момент, когда гибернация выгоднее сна[12][22]. Второе направление — согласованность: те же идеи снимков, что спасают сеанс пользователя, применяются к контейнерам и бессерверным платформам, где мгновенное возобновление становится конкурентным преимуществом[20]. Русскоязычные обзоры подчёркивают, что энергосбережение портативных систем остаётся совокупной задачей: аппаратные состояния, планирование ядра и поведение пользователя вносят сопоставимый вклад, и гибернация в этой совокупности — самый дешёвый способ не терять работу при полном отключении питания[16].
Примечания
- ↑ Microsoft: System Power States. Дата обращения: 28 сентября 2026.
- ↑ 1 2 3 Jones M., Wei B., Hung D. Laptop energy-saving opportunities based on user behaviors // Energy Efficiency. — 2013. — Т. 6, № 2. — С. 425—431. — doi:10.1007/s12053-012-9167-5.
- ↑ Kagenishi T., Hirano H., Shibayama T., Kotani H. Low power self refresh mode DRAM with temperature detecting circuit // Symposium on VLSI Circuits. — 1993. — С. 43—44. — doi:10.1109/vlsic.1993.920531.
- ↑ ACPI Specification, Release 6.5. — UEFI Forum, 2022.
- ↑ 1 2 3 4 Swap suspend (англ.). The Linux Kernel documentation. Дата обращения: 24 сентября 2026.
- ↑ Swaminathan S., Chakrabarty K. Operating System Power Management // Distributed Sensor Networks. — 2016. — С. 609—638. — doi:10.1201/b12991-33.
- ↑ Tanenbaum A. S., Bos H. Modern Operating Systems. — 4th ed.. — Boston: Pearson, 2015. — ISBN 978-1-292-06142-9.
- ↑ 1 2 3 Картушев Н. А., Мартынчик С. П. Сравнительный анализ загрузчиков операционных систем // Теория и практика современной науки. — 2017. — № 1 (19).
- ↑ Love R. Linux Kernel Development. — 2nd ed.. — Indianapolis: Novell Press, 2005. — ISBN 978-0-672-32720-9.
- ↑ 1 2 3 Microsoft: System Power States. Дата обращения: 28 сентября 2026.
- ↑ Zhu Z., Cao J., Li X., Zhang J. Impacts of Memory Address Mapping Scheme on Reducing DRAM Self-Refresh Power // IEEE Access. — 2018. — Т. 6. — С. 78513—78520. — doi:10.1109/access.2018.2885064.
- ↑ 1 2 Oh B., Abeyratne N., Ahn J., Dreslinski R. Enhancing DRAM Self-Refresh for Idle Power Reduction // Proceedings of the 2016 International Symposium on Low Power Electronics and Design. — 2016. — С. 254—259. — doi:10.1145/2934583.2934632.
- ↑ Stallings W. Operating Systems: Internals and Design Principles. — 9th ed.. — Хобокен: Pearson, 2018. — ISBN 978-1-292-21429-0.
- ↑ 1 2 Zi C., Zhang C., Lin Q., Qi Z. Suspend-to-PCM: A New Power-Aware Strategy for Operating System’s Rapid Suspension // Lecture Notes in Electrical Engineering. — 2013. — С. 667—674. — doi:10.1007/978-1-4614-7010-6_75.
- ↑ Зайцев И. Эффективное использование преимуществ ферроэлектрической памяти // Компоненты и технологии. — 2004. — № 40.
- ↑ 1 2 Василенко Д., Бирюков Е. Методы снижения потребления энергии современными портативными устройствами // Компоненты и технологии. — 2005. — № 50.
- ↑ Kang J., Seo S., Hong J. Personalized Battery Lifetime Prediction for Mobile Devices Based on Usage Patterns // Journal of Computing Science and Engineering. — 2011. — Т. 5, № 4. — С. 338—345. — doi:10.5626/jcse.2011.5.4.338.
- ↑ Microsoft: System Power States. Дата обращения: 28 сентября 2026.
- ↑ Alanko T., Verkamo A. I. Segmentation, paging and optimal page sizes in virtual memory // Performance Evaluation. — 1983. — Т. 3, № 1. — С. 13—33. — doi:10.1016/0166-5316(83)90030-5.
- ↑ 1 2 Weng W., Zhao Y., van Nieuwpoort R., Uta A. Serverless Snapshot-Resume Performance in the Real-World // 2024 IEEE/ACM 17th International Conference on Utility and Cloud Computing. — 2024. — С. 356—365. — doi:10.1109/ucc63386.2024.00056.
- ↑ Liedes A., Wolski A. SIREN: A Memory-Conserving, Snapshot-Consistent Checkpoint Algorithm // 22nd International Conference on Data Engineering. — 2006. — doi:10.1109/icde.2006.140.
- ↑ Bhati I., Chishti Z., Jacob B. Coordinated refresh: Energy efficient techniques for DRAM refresh management // International Symposium on Low Power Electronics and Design. — 2013. — С. 205—210. — doi:10.1109/islped.2013.6629295.
Литература
- Василенко Д., Бирюков Е. Методы снижения потребления энергии современными портативными устройствами // Компоненты и технологии. — 2005. — № 50.
- Зайцев И. Эффективное использование преимуществ ферроэлектрической памяти // Компоненты и технологии. — 2004. — № 40.
- Картушев Н. А., Мартынчик С. П. Сравнительный анализ загрузчиков операционных систем // Теория и практика современной науки. — 2017. — № 1 (19).
- Alanko T., Verkamo A. I. Segmentation, paging and optimal page sizes in virtual memory // Performance Evaluation. — 1983. — Т. 3, № 1. — С. 13—33. — doi:10.1016/0166-5316(83)90030-5.
- Jones M., Wei B., Hung D. Laptop energy-saving opportunities based on user behaviors // Energy Efficiency. — 2013. — Т. 6, № 2. — С. 425—431. — doi:10.1007/s12053-012-9167-5.
- Love R. Linux Kernel Development. — 2nd ed.. — Indianapolis: Novell Press, 2005. — ISBN 978-0-672-32720-9.
- Oh B., Abeyratne N., Ahn J., Dreslinski R. Enhancing DRAM Self-Refresh for Idle Power Reduction // Proceedings of the 2016 International Symposium on Low Power Electronics and Design. — 2016. — С. 254—259. — doi:10.1145/2934583.2934632.
- Stallings W. Operating Systems: Internals and Design Principles. — 9th ed.. — Хобокен: Pearson, 2018. — ISBN 978-1-292-21429-0.
- Tanenbaum A. S., Bos H. Modern Operating Systems. — 4th ed.. — Boston: Pearson, 2015. — ISBN 978-1-292-06142-9.
- Zhu Z., Cao J., Li X., Zhang J. Impacts of Memory Address Mapping Scheme on Reducing DRAM Self-Refresh Power // IEEE Access. — 2018. — Т. 6. — С. 78513—78520. — doi:10.1109/access.2018.2885064.