Русская Википедия:Гибернация (операционные системы)
Шаблон:Другие значения Шаблон:ОРИСС Шаблон:Нет ссылок
Гибернация или сон (Шаблон:Lang-en — «зимняя спячка») — энергосберегающий режим операционной системы компьютера, при котором содержимое оперативной памяти сохраняется на энергонезависимое устройство хранения данных (жёсткий диск) перед выключением питания. В отличие от ждущего режима, в режиме гибернации после сохранения данных оперативной памяти подача электроэнергии полностью прекращается. После включения питания компьютера содержимое памяти восстанавливается (загружается с диска в память), и пользователь сможет продолжить работу с того же места, на котором он остановился, так как все запущенные ранее программы продолжат выполняться.
В русскоязычной версии 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). Таким образом, использование спящего режима может оказаться небезопасным.
Гибернация отдельных программ
В общем случае принцип гибернации не может быть применён к отдельным программам[1][2]. Дело в том, что некоторые операции над файлами могут единовременно производиться только одной программой (см. мьютекс). Так, операция «открытие файла для записи» предполагает, что никакая другая программа не будет обращаться к данному файлу.
Рассмотрим следующий сценарий:
- программа открывает файл, записывает в него информацию;
- в это время её отправляют в гибернацию;
Если файл будет заблокирован — достаточно удалить файл гибернации, и мы получим неудаляемый файл. Если нет — другой процесс может изменить файл, что может привести к ошибке «Недопустимая операция» или порче данных. Подобные проблемы возникают и с другими объектами ОС — например, сообщениями о размонтировании диска: программа, находясь в спящем режиме, просто не сможет на них отреагировать.
Интересные факты
- Поддержка гибернации добавлена в ОС Windows начиная с Windows 95, которая распространялась с 1995 года.
- ОС Шаблон:Нп5, которая распространялась с 1980 года, поддерживала Шаблон:Нп5[3], который заключался в следующем: ОС периодически сохраняла на диск своё состояние (содержимое памяти и данные о состоянии устройств); после перебоев в подаче электроэнергии ОС восстанавливалась из сохранённого состояния; программы продолжали работать так, будто бы сбоя не происходило; терялись только изменения, внесённые с момента последнего сохранения.
См. также
Ссылки
Примечания