The Wayback Machine - https://web.archive.org/web/20221028224749/https://baike.sogou.com/kexue/d10171.htm

计算机休眠

编辑

计算中的休眠(或挂起到磁盘)是在保持计算机状态的同时关闭计算机电源。休眠时,计算机将其随机存取存储器的内容保存到硬盘或其他非易失性存储器中。恢复后,计算机与进入休眠前完全一样。

1 使用编辑

休眠后,硬件会像正常关机一样关闭电源。[1] 休眠能够避免关闭前保存未保存数据的麻烦,重新接通电源后恢复所有正在运行的程序。休眠用于电池电量有限的笔记本电脑。[1] 它可以设置为在低电量警报时自动执行。大多数台式机也支持休眠,主要是作为一种总体的节能措施。

2 与睡眠模式的比较编辑

许多系统还支持低功耗睡眠模式,在这种模式下,机器的处理功能会停止供电,只需一点点电能即可保存内存内容并支持唤醒。瞬间恢复是睡眠模式的优势之一。休眠系统必须启动并将数据读回内存,这通常需要时间。处于睡眠模式的系统只需要给中央处理器和显示器通电,这几乎是瞬间完成的。另一方面,处于睡眠模式的系统仍然消耗电能来将数据保存在随机存取存储器中。在休眠模式下断开系统电源会导致数据丢失,而在休眠模式下切断系统电源没有风险;当电源恢复时,休眠系统可以恢复。除非拔掉电源插头,否则关机和休眠系统都可能消耗备用电源。

3 混合睡眠编辑

睡眠模式和休眠可以结合:内存的内容被复制到非易失性存储器,计算机进入睡眠模式。这种方法结合了睡眠模式和休眠的优点:机器可以立即恢复,它的状态,包括打开和未保存的文件,在停电后仍然存在。当休眠关闭计算机时,混合睡眠消耗的功率与睡眠模式一样多。[2][1]

4 操作系统支持编辑

休眠的早期实现使用基本输入输出系统,但是现代操作系统通常处理休眠。休眠被定义为计算机规范中的睡眠模式S4。[3]

4.1 微软Windows软件

在Windows电脑上,只有当所有硬件和设备驱动程序都符合ACPI和即插即用标准时,休眠才可用。休眠可以从开始菜单或命令行调用。[4]

Windows 95通过硬件制造商提供的驱动程序支持休眠,并且只有当兼容的硬件和基本输入输出系统存在时才支持休眠。由于Windows 95只支持高级电源管理,休眠被称为挂起到磁盘。Windows 98及更高版本支持ACPI。但是,休眠经常会导致问题,因为大多数硬件不完全符合ACPI 1.0标准,或者没有WDM驱动程序。FAT32文件系统也有问题。[5]

Windows 2000是第一个在操作系统级别(操作系统控制的ACPI S4睡眠状态)支持休眠的Windows,不需要硬件制造商提供的特殊驱动程序。在引导分区的根目录中,一个名为“hiberfil.sys”的隐藏系统文件用于在计算机休眠时存储内存的内容。在Windows 2000中,这个文件和安装的总内存一样大。

Windows Me是Windows 9x系列的最后一个版本,也支持操作系统控制的休眠,并且需要与计算机内存相等的磁盘空间。[6][7]

Windows XP进一步改进了对休眠的支持。[8] 休眠和恢复要快得多,因为使用改进的算法压缩内存页面;压缩与磁盘写入重叠,未使用的内存页面被释放,并且在输入/输出期间使用直接内存分配传输。[9] hiberfil.sys 包含进一步的信息,包括处理器状态。该文件由安全研究员马蒂厄·苏切(Matthieu Suiche)[10] 在2008年黑帽简报会上记录,他还提供了一个计算机取证框架来管理该文件并将其转换为可读的内存转储。[11] 微软后来也记录了压缩算法。[12]

虽然Windows XP增加了对超过4gb内存的支持(通过Windows XP 64位版和Windows XP Professional x64版),但该操作系统以及Windows 服务器2003、Windows Vista和Windows 服务器2008在安装此内存量时不支持休眠,因为将如此大量的数据从内存保存到磁盘会带来性能问题。[13]

Windows Vista引入了混合睡眠功能,将内存内容保存到硬盘上,但不是断电,而是进入睡眠模式。如果停电了,电脑可以像休眠一样恢复。

Windows 7对休眠文件进行了压缩,并将默认大小设置为总物理内存的75%。[12] 微软还建议在内存占用超过这个数量的一些罕见工作负载中,使用powercfg.exe工具来增加大小。它可以设置在50%到100%之间,尽管不建议降低。

Windows 8的休眠恢复算法是多核优化的。Windows 8还引入了混合启动功能。当用户选择“关机”选项时,它会使计算机休眠,但会关闭所有程序,并在休眠前注销用户会话。[14] 根据微软的说法,一个常规的休眠包括更多的数据在内存页面中,这需要更长的时间写入磁盘。相比之下,当用户会话关闭时,休眠数据要小得多,因此写入磁盘和恢复所需的时间也更少。Windows 8还保存内核映像。用户可以选择通过按住Shift键同时单击关机来执行传统关机。[15]

休眠通常在商业环境中使用不足,因为如果不借助第三方电脑电源管理软件,很难在大型计算机网络上启用休眠。[16] 微软的这一疏忽被批评为导致了巨大的能源浪费。[17]

第三方电源管理程序提供了超出Windows系统的功能。[18][19][20] 大多数产品都提供活动目录集成和每用户或每台机器的设置,包括更高级的电源计划、预定电源计划、防失眠功能和企业用电报告。著名的供应商包括1E守夜人、[21][22] 数据协同PowerMAN(软件)、[23] Faronics Power Save[24] 和Verdiem测量员。[25]

可以禁用休眠并删除hiberfil.sys。[26]

4.2 macOS

在苹果电脑上,一项被称为安全睡眠的功能是在每次苹果电脑进入睡眠模式时将易失性存储器的内容保存到系统硬盘上。如果随机存取存储器(RAM)的电源没有中断,Mac可以立即从睡眠模式中唤醒。但是,如果电源中断,例如在没有交流电源连接的情况下卸下电池时,Mac会从安全睡眠中唤醒,从硬盘恢复内存内容。[27] 因为安全睡眠的休眠过程发生在正常睡眠期间,苹果菜单没有“休眠”选项。

从2005年10月的PowerBook G4(双层标清)开始,安全睡眠功能就被添加到了苹果机型中。安全睡眠需要苹果OS X 10.4或更高版本。

苹果开始支持“安全睡眠”后不久,苹果发烧友发布了一个黑客程序,为运行苹果OS X v10.4的更老的苹果电脑启用这个功能。[28] 经典的苹果操作系统曾经也支持休眠,但是这个功能被苹果放弃了。[29]

4.3 Linux

在Linux内核中,休眠是由内置于2.6系列中的swsusp实现的。另一种实现是TuxOnIce,它是内核3.4版的补丁。TuxOnIce提供了支持对称多处理和抢占等优势。另一个替代实现是uswsusp。三者都称之为“挂起到磁盘”。

参考文献

  • [1]

    ^"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]

    ^"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]

    ^[1].

  • [16]

    ^Enable hibernate using group policy.

  • [17]

    ^EcoGeek – How Windows XP Wasted $25 Billion of Energy.

  • [18]

    ^"Power Management Software for Windows Workstations"..

  • [19]

    ^"Energy Star Commercial Packages List"..

  • [20]

    ^The Headmasters' and Headmistresses' Conference. "HMC: A Practical Guide to Sustainable Building for Schools"..

  • [21]

    ^"PC Power Management Solutions"..

  • [22]

    ^"Why use software NightWatchman to turn your PCs off?"..

  • [23]

    ^"University of Oxford Low Carbon Project: Energy and the networked computing environment"..

  • [24]

    ^"Forrester Study: Total Economic Impact of Faronics Power Save" (PDF)..

  • [25]

    ^"1E upgrades NightWatchman, seeks to bring powermanagement to SMEs: Competitive landscape" (PDF). Archived from the original (PDF) on 2011-07-07..

  • [26]

    ^How to disable and re-enable hibernation on a computer that is running Windows; Microsoft; August 12, 2010..

  • [27]

    ^"Apple Support: Progress bar appears after waking from sleep". February 20, 2006. Archived from the original on March 12, 2008..

  • [28]

    ^"How to Safe Sleep (Hibernate) Your Mac". AndrewEscobar.com. Archived from the original on 2008-01-05..

  • [29]

    ^"Sleep Memory Extension 1.0 Document and Software". Archived from the original on August 19, 2007..

阅读 166
版本记录
  • 暂无