Interested Article - Гибернация (операционные системы)

Гибернация ( англ. 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). Таким образом, использование спящего режима может оказаться небезопасным.

Гибернация отдельных программ

В общем случае принцип гибернации не может быть применён к отдельным программам . Дело в том, что некоторые операции над файлами могут единовременно производиться только одной программой (см. мьютекс ). Так, операция «открытие файла для записи» предполагает, что никакая другая программа не будет обращаться к данному файлу.

Рассмотрим следующий сценарий:

  1. программа открывает файл, записывает в него информацию;
  2. в это время её отправляют в гибернацию;

Если файл будет заблокирован — достаточно удалить файл гибернации, и мы получим неудаляемый файл. Если нет — другой процесс может изменить файл, что может привести к ошибке «Недопустимая операция» или порче данных. Подобные проблемы возникают и с другими объектами ОС — например, сообщениями о размонтировании диска: программа, находясь в спящем режиме, просто не сможет на них отреагировать.

Интересные факты

  • Поддержка гибернации добавлена в ОС Windows начиная с Windows 95 , которая распространялась с 1995 года .
  • ОС , которая распространялась с 1980 года , поддерживала , который заключался в следующем: ОС периодически сохраняла на диск своё состояние (содержимое памяти и данные о состоянии устройств); после перебоев в подаче электроэнергии ОС восстанавливалась из сохранённого состояния; программы продолжали работать так, будто бы сбоя не происходило; терялись только изменения, внесённые с момента последнего сохранения.

См. также

Ссылки

Примечания

  1. от 2 февраля 2010 на Wayback Machine — Реймонд Чен
  2. от 3 июля 2012 на Wayback Machine ?
  3. Liedtke, Jochen (Декабрь 1993 года ). (PDF) . Proceedings of the 3rd International Workshop on Object Orientation in Operating Systems (IWOOOS) . Эшвилл , Северная Каролина , США . pp. 2‑11. Архивировано из (PDF) 10 июля 2015 . {{ cite conference }} : Проверьте значение даты: |date= ( справка )
Источник —

Same as Гибернация (операционные системы)