Hibernation (computing)

From Wikipedia, the free encyclopedia
  (Redirected from Hibernate (OS feature))
Jump to: navigation, search

Hibernation (or Suspend to disk) in computing is powering down a computer while retaining its state. Upon hibernation, the computer saves the contents of its random access memory (RAM) to a hard disk or other non-volatile storage. Upon resumption, the computer is exactly as it was before entering hibernation. When used to save power, hibernation is similar to sleep mode; however, it saves more power at the cost of slower resumption.

Uses[edit]

Hibernation saves electrical power. After hibernating, the hardware is powered down like a regular shutdown.[1] Hibernation is a means of avoiding the burden of saving unsaved data before shutting down and restoring all running programs after powering back on. Hibernation is used in laptops, which have limited battery power available.[1] It can be set to happen automatically on a low battery alarm. Most desktops also support hibernation, mainly as a general energy saving measure.

Comparison to sleep mode[edit]

Many systems also support a low-power sleep mode or stand by mode in which the processing functions of the machine are powered down, using a little power to preserve the contents of RAM and support waking up; wakeup is almost instantaneous.

Instantaneous resumption is one of the advantages of sleep mode over hibernation. A hibernated system must start up and read data back to RAM, which typically takes time. A system in sleep mode only needs to power up the CPU and display, which is almost instantaneous. On the other hand, a system in sleep mode still consumes power to keep the data in the RAM, while a hibernated system may use virtually no power at all. A sleeping computer is a case of a device consuming standby power, covered by regulations in many countries limiting such power under the One Watt Initiative to one watt from 2010.

Hybrid sleep[edit]

Sleep mode and hibernation can be combined: The contents of RAM are copied to the non-volatile storage and the computer enters sleep mode. This approach combines the benefits of sleep mode and hibernation: The machine can resume instantaneously, and its state, including open and unsaved files, survives a power outage. Hybrid sleep consumes as much power as sleep mode while hibernation consumes none.[2][1]

Operating system support[edit]

Early implementations of hibernation used the BIOS, but modern operating systems usually handle hibernation. Hibernation is defined as sleeping mode S4 in the ACPI specification.[3]

Microsoft Windows[edit]

On Windows computers, hibernation is available only if all hardware and device drivers are ACPI and plug-and-play–compliant. Hibernation can be invoked from the Start menu or the command line.[4]

Windows 95 supports hibernation through hardware manufacturer-supplied drivers and only if compatible hardware and BIOS are present. Since Windows 95 supports only Advanced Power Management (APM), hibernation is called Suspend-to-Disk. Windows 98 and later support ACPI. However, hibernation often caused problems since most hardware was not fully ACPI 1.0 compliant or did not have WDM drivers. There were also issues with the FAT32 file system.[5]

Windows 2000 is the first Windows to support hibernation at the operating system level (OS-controlled ACPI S4 sleep state) without special drivers from the hardware manufacturer. A hidden system file named "hiberfil.sys" in the root of the boot partition is used to store the contents of RAM when the computer hibernates. In Windows 2000, this file is as big as the total RAM installed.

Windows Me, the last release in the Windows 9x family, also supports OS controlled hibernation and requires disk space equal to that of the computer's RAM.[6][7]

Windows XP further improved support for hibernation.[8] Hibernation and resumption are much faster as memory pages are compressed using an improved algorithm; compression is overlapped with disk writes, unused memory pages are freed and DMA transfers are used during I/O.[9] hiberfil.sys contains further information including processor state. This file was documented by a security researcher Matthieu Suiche[10] during Black Hat Briefings 2008 who also provided a computer forensics framework to manage and convert this file into a readable memory dump.[11] The compression algorithm was later documented by Microsoft as well.[12]

Although Windows XP added support for more than 4 gigabytes of memory (through Windows XP 64-bit Edition and Windows XP Professional x64 Edition), this operating system, as well as Windows Server 2003, Windows Vista and Windows Server 2008 do not support hibernation when this amount of memory is installed because of performance issues associated with saving such a large pool of data to disk.[13]

Windows Vista introduced a hybrid sleep feature, which saves the contents of memory to hard disk but instead of powering down, enters sleep mode. If the power is lost, the computer can resume as if hibernated.

Windows 7 introduced compression to the hibernation file and set the default size to 75% of the total physical memory.[12] Microsoft also recommends to increase the size using the powercfg.exe tool in some rare workloads where the memory footprint exceeds that amount. It can be set from anywhere between 50% to 100%, although decreasing it is not recommended.

Windows 8's resume-from-hibernation algorithm is multi-core optimized. Windows 8 also introduces a Hybrid Boot feature. When users select the Shut Down option, it hibernates the computer, but closes all programs and logs out the user session before hibernating.[14] According to Microsoft, a regular hibernation includes more data in memory pages which takes longer to be written to disk. In comparison, when the user session is closed, the hibernation data is much smaller and therefore takes less time to write to disk and resume. Windows 8 also saves the kernel image. Users have the option of performing a traditional shutdown by holding down the Shift key while clicking Shut Down.

Hibernation is often under-used in business environments as it is difficult to enable it on a large network of computers without resorting to third-party PC power management software.[15] This omission by Microsoft has been criticized as having led to a huge waste in energy.[16]

Third-party power management programs offer features beyond those present in Windows.[17][18][19] Most products offer Active Directory integration and per-user or per-machine settings with more advanced power plans, scheduled power plans, anti-insomnia features and enterprise power usage reporting. Notable vendors include 1E NightWatchman,[20][21] Data Synergy PowerMAN (Software),[22] Faronics Power Save[23] and Verdiem SURVEYOR.[24]

It is possible to disable hibernation and delete hiberfil.sys.[25]

Mac OS X[edit]

Main article: Sleep (OS X)

On Macs, a feature known as Safe Sleep saves the contents of volatile memory to the system hard disk each time the Mac enters Sleep mode. The Mac can instantaneously wake from sleep mode if power to the RAM has not been lost. However, if the power supply was interrupted, such as when removing batteries without an AC power connection, the Mac would wake from Safe Sleep instead, restoring memory contents from the hard drive.[26] Because Safe Sleep's hibernation process occurs during regular Sleep, the Apple menu does not have a "hibernate" option.

Safe Sleep capability is found only in new Mac models starting with the October 2005 revision of the PowerBook G4 (Double-Layer SD). Mac OS X v10.4 or higher is also required.

Shortly after Apple started supporting Safe Sleep, Mac enthusiasts released a hack to enable this feature for much older Mac computers running Mac OS X v10.4.[27] Classical Mac OS once also supported hibernation, but this feature was dropped by Apple.[28]

Linux[edit]

In the Linux kernel, hibernation is implemented by swsusp which is built into the 2.6 series. An alternative implementation is TuxOnIce which is available as patches for the kernel version 3.4. TuxOnIce provides advantages such as support for symmetric multiprocessing and preemption. Another alternative implementation is uswsusp.

See also[edit]

References[edit]

  1. ^ a b c "Sleep and hibernation: frequently asked questions". Windows 7 Online Help. Microsoft Corporation. Retrieved 15 October 2011. 
  2. ^ "Turn off a computer: frequently asked questions". Windows Vista Online Help. Microsoft Corporation. Retrieved 15 October 2011. 
  3. ^ ACPI Specification Rev 3.0b
  4. ^ Microsoft Help and Support – How To Put the System into hibernation or Standby from Run menu
  5. ^ BIOS and Hibernate Issues for FAT32 File System
  6. ^ "Interview with Nicolas Coudière, Chief Product Manager: Microsoft Windows Millennium Edition (Me)". Activewin.com. Retrieved 2010-08-26. 
  7. ^ "Windows Power Management". Microsoft.com. 2001-12-04. Archived from the original on 2004-07-13. Retrieved 2010-08-26. 
  8. ^ Windows Power Management: Instant PC availability and energy savings
  9. ^ Kernel Enhancements for Windows XP
  10. ^ BlackHat USA 2008 – Windows hibernation file for fun and profit
  11. ^ SandMan Computer Forensics Framework
  12. ^ a b "Reducing the Disk Footprint for Windows 7 Hibernation". Retrieved 2012-10-25. 
  13. ^ "You cannot put a computer that has more than 4 GB of memory into hibernation in Windows XP, in Windows Server 2003, in Windows Vista, or in Windows Server 2008". Support (9.0 ed.). Microsoft. 23 September 2011. Retrieved 23 March 2014. 
  14. ^ Delivering fast boot times in Windows 8
  15. ^ Enable hibernate using group policy
  16. ^ EcoGeek – How Windows XP Wasted $25 Billion of Energy
  17. ^ "Power Management Software for Windows Workstations". 
  18. ^ "Energy Star Commercial Packages List". 
  19. ^ The Headmasters' and Headmistresses' Conference. "HMC: A Practical Guide to Sustainable Building for Schools". 
  20. ^ "PC Power Management Solutions". 
  21. ^ "Why use software NightWatchman to turn your PCs off?". 
  22. ^ "University of Oxford Low Carbon Project: Energy and the networked computing environment". 
  23. ^ "Forrester Study: Total Economic Impact of Faronics Power Save". 
  24. ^ "1E upgrades NightWatchman, seeks to bring powermanagement to SMEs: Competitive landscape". 
  25. ^ How to disable and re-enable hibernation on a computer that is running Windows; Microsoft; August 12, 2010.
  26. ^ Apple Support: Progress bar appears after waking from sleep
  27. ^ http://web.archive.org/web/20080105000720/http://andrewescobar.com/archive/2005/11/11/how-to-safe-sleep-your-mac/
  28. ^ http://docs.info.apple.com/article.html?artnum=59016