Гибернация
(
англ.
hibernation
— «зимняя
спячка
») —
энергосберегающий
режим
операционной системы
компьютера
, при котором содержимое
оперативной памяти
сохраняется на энергонезависимое
устройство хранения данных
(
жёсткий диск
) перед выключением питания. В отличие от
ждущего режима
, в режиме гибернации после сохранения данных оперативной памяти подача электроэнергии полностью прекращается. После включения питания компьютера содержимое памяти восстанавливается (загружается с диска в память), и пользователь сможет продолжить работу с того же места, на котором он остановился, так как все запущенные ранее программы продолжат выполняться.
В русскоязычной версии
Windows XP
функция гибернации называется «Спящий режим». Этот режим носит название «Гибернация» начиная с версии
Windows Vista
. Кроме того, в Windows Vista появилась дополнительная функция «гибридный спящий режим», при которой содержимое ОЗУ копируется на диск, но питание компьютера не отключается. В этом режиме «пробуждение» занимает меньше времени, а данные пользователя не будут потеряны в случае отключения электропитания.
В
OS X
спящий режим объединён со ждущим. При этом обычный спящий режим OS X соответствует гибридному в Windows Vista, а при низком заряде
аккумулятора
(в
ноутбуках
) используется режим «глубокого сна», аналогичный гибернации, при котором питание компьютера отключается полностью.
В
KDE4
и
GNOME
гибернацию можно вызвать через управление электропитанием. При этом должен быть установлен пакет
pm-utils
.
Преимущества и недостатки
-
Преимущества
-
Быстрое окончание/начало работы (не тратится время на остановку/запуск драйверов и
программ
).
-
Возможность автоматизации (гибернация может выполняться автоматически, без участия пользователя, например, при достижении низкого уровня заряда у батареи ноутбука).
-
Отсутствие интерактивности (пользователю не нужно отвечать на запросы о сохранении документов).
-
От аппаратного обеспечения и его драйверов требуется минимальная поддержка
ACPI
(если это программная гибернация, как в Windows 2000+).
-
Недостатки
-
Необходимость наличия свободного места на диске (содержимое
памяти
и данные о состоянии оборудования занимают большое количество дискового пространства, примерно равное объёму доступной или используемой
оперативной памяти
).
-
При больших размерах
памяти
и установке
ОС
на
SSD
для редко используемого файла гибернации резервируется большой размер дискового пространства. При этом изменить расположение файла гибернации в Windows невозможно из-за особенностей
загрузчика ядра
, который способен видеть только тот раздел диска, на который установлен загрузчик.
-
Некоторые
драйверы
и
программы
имеют проблемы со спящим режимом. Например,
Miranda IM
версий до 0.8 выводила сообщение о невозможности подключения (но после этого нормально подключалась к серверу). Logitech SetPoint с
мышью
Logitech G5
переставляет уровень чувствительности, но «забывает» обновить индикацию этого уровня.
-
Если содержимое диска изменится, то часть данных, которые находятся в
виртуальной памяти
(
дисковый кэш
,
FAT
, таблицы
дескрипторов
и т. д.) окажутся в устаревшем состоянии. По этой причине в ОС
Linux
при
монтировании разделов
, используемых ОС
Windows
, выводится предупреждение либо раздел монтируется только для чтения. Кроме того, при включении компьютера не рекомендуется использовать
мультизагрузку
.
-
Проблемы с выходом из спящего режима могут возникнуть при сбое аппаратного обеспечения машины (
BIOS
, HDD).
-
Шифрование
файла спящего режима (как и
файла подкачки
), хранящего копию содержимого
памяти
, осуществляется не во всех операционных системах (исключение — OS X). Таким образом, использование спящего режима может оказаться небезопасным.
Гибернация отдельных программ
В общем случае принцип гибернации не может быть применён к отдельным программам
. Дело в том, что некоторые операции над
файлами
могут единовременно производиться только одной программой (см.
мьютекс
). Так, операция «открытие файла для записи» предполагает, что никакая другая программа не будет обращаться к данному файлу.
Рассмотрим следующий сценарий:
-
программа открывает файл, записывает в него информацию;
-
в это время её отправляют в гибернацию;
Если файл будет заблокирован — достаточно удалить файл гибернации, и мы получим неудаляемый файл. Если нет — другой процесс может изменить файл, что может привести к ошибке «Недопустимая операция» или порче данных. Подобные проблемы возникают и с другими объектами
ОС
— например, сообщениями о размонтировании диска: программа, находясь в спящем режиме, просто не сможет на них отреагировать.
Интересные факты
-
Поддержка гибернации добавлена в
ОС
Windows начиная с
Windows 95
, которая распространялась с
1995 года
.
-
ОС
, которая распространялась с
1980 года
, поддерживала
, который заключался в следующем:
ОС
периодически сохраняла на диск своё состояние (содержимое
памяти
и данные о состоянии устройств); после перебоев в подаче
электроэнергии
ОС
восстанавливалась из сохранённого состояния; программы продолжали работать так, будто бы сбоя не происходило; терялись только изменения, внесённые с момента последнего сохранения.
См. также
Ссылки
Примечания