文档章节

ACPI电源管理中的S0 S1 S2 S3 S4 S5

Q
 QEfarmer
发布于 2014/05/07 13:36
字数 4078
阅读 2248
收藏 6

以 ACPI 的规格来说吧!ACPI(Advanced Configuration and Power Interface),即高级配置与电源接口。这种新的能源管理可以通过诸如软件控制"开关"系统,亦可以用Modem信号唤醒和关闭系统。
  ACPI在运行中有以下几种模式:
  S0 正常。
  S1 CPU停止工作。唤醒时间:0秒。
  S2 CPU关闭。唤醒时间:0.1秒。
  S3 除了内存外的部件都停止工作。唤醒时间:0.5秒。
  S4 内存信息写入硬盘,所有部件停止工作。唤醒时间:30秒。(休眠状态)
  S5 关闭。

 S1 =>Standby。即指说系统处于低电源供应状态,在 windows or BIOS 中可设定萤幕讯号输出关闭、 硬碟停止运转进入待命状态、电源灯号处于闪烁状态。此时动一动滑鼠、按键盘任一键均可叫醒电脑。
      S2 =>Power Standby。和 S1 几乎是一样。
      S3 =>Suspend to RAM。即是把 windows 现在存在记忆体中的所有资料保存不动,然后进入「假关机」。此时除了记忆体需要电源来保持资料以外,其它的设备、装置全部停止供电。也就是说,理论上可以把 CPU, PCI, AGP device 拿掉又插回去,电脑也可能正常完成开机及运作,只要不动到记忆体和电源的部份。这时只剩下电源灯号一闪一闪的,其它和关机没什么两样。(电源供应器的风扇也停止运转喔)重新开新后,电脑只是把记忆体的资料完整性确认后,即立刻会回到你进 S3 前的画面。记得有人试过,在烧录中启动 S3 ,CDRW 还会自动启动 Just-Link ,等你回復后它又自动继续烧。(听说而以,自己没试过)。
      S4 =>Suspend to Disk。即是把 windows 记忆体中的资料完整的存在硬碟中。等开机时就直接从存这些资料的地方直接完整的读到记忆体,不需要跑一堆应用程式。使用这种模式的话,硬碟一定要腾出一个完整的连续空间。Windows 98/SE 必需要用软体去製作一个大档案或是一个磁区来提供 win98/SE 执行 S4 这功能,WinME/2000/XP 本身就有製作一个大档案来给 S4 功能用(在电源管理中有一个启动休眠,就是这个啦) 。在启动后,在 C: 下会看到一个和你电脑现有记忆体大小一样的大档案。
      S5 =>Shutdown....这不用说了吧!

判断系统是处于S1模式还是在S3模式,最简单的办法是仔细观察系统的情况:在ACPI的S1休眠模式下,只有CPU停止工作,其他设备仍处于加电状态。 而在S3模式(BIOS->电源管理->Suspend to RAM设为Enable,除内存外其他设备均处于断电状态)。所以我们只需按一下光驱上的弹出钮即可,不能打开光驱门则处于S3状态,反之则处于S1状 态。还有一种比较简单的方法是:在S3模式下,系统完全是安静的,所有风扇全部停止工作,此时系统不能从键盘唤醒,手工唤醒的方法只能是按前面板上的电源 按钮。
      S1/S3 在 windows 中都叫「待命 or standby」,所以在 BIOS 里会有一个选项,设定说 Standby mode 为何,是要 S1 还是 S3,所以啦。S1 和 S3 是不能同时存在的。不是 S1,S4,S5 就是 S3,S4,S5 。

 

待机、休眠、睡眠的区别和优缺点

    Vista下推荐使用睡眠。Windows操作系统中很早就加入了待机、休眠等模式,而Windows Vista中更是新加入了一种叫做睡眠的模式,可是很多人还是习惯在不使用电脑的时候将其彻底关闭。其实充分利用这些模式,我们不仅可以节约电力消耗,还可以用尽可能短的时间把系统恢复到正常工作状态。

    这三种模式的定义如下:

   待机(Standby),将系统切换到该模式后,除了内存,电脑其他设备的供电都将中断,只有内存依靠电力维持着其中的数据(因为内存是易失性的,只要断 电,数据就没有了)。这样当希望恢复的时候,就可以直接恢复到待机前状态。这种模式并非完全不耗电,因此如果在待机状态下供电发生异常(例如停电),那么 下一次就只能重新开机,所以待机前未保存的数据都会丢失。但这种模式的恢复速度是最快的,一般五秒之内就可以恢复。

   休眠(Hibernate),将系统切换到该模式后,系统会自动将内存中的数据全部转存到硬盘上一个休眠文件中,然后切断对所有设备的供电。这样当恢复的 时候,系统会从硬盘上将休眠文件的内容直接读入内存,并恢复到休眠之前的状态。这种模式完全不耗电,因此不怕休眠后供电异常,但代价是需要一块和物理内存 一样大小的硬盘空间(好在现在的硬盘已经跨越TB级别了,大容量硬盘越来越便宜)。而这种模式的恢复速度较慢,取决于内存大小和硬盘速度,一般都要1分钟 左右,甚至更久。

   睡眠(Sleep),是Windows Vista中的新模式,这种模式结合了待机和休眠的所有优点。将系统切换到睡眠状态后,系统会将内存中的数据全部转存到硬盘上的休眠文件中(这一点类似休 眠),然后关闭除了内存外所有设备的供电,让内存中的数据依然维持着(这一点类似待机)。这样,当我们想要恢复的时候,如果在睡眠过程中供电没有发生过异 常,就可以直接从内存中的数据恢复(类似待机),速度很快;但如果睡眠过程中供电异常,内存中的数据已经丢失了,还可以从硬盘上恢复(类似休眠),只是速 度会慢一点。不过无论如何,这种模式都不会导致数据丢失。

   正因为睡眠功能有这么多优点,因此Windows Vista开始菜单上的电源按钮默认就会将系统切换到睡眠模式。所以我们大可充分利用这一新功能,毕竟从睡眠状态下恢复,速度要比从头启动快很多。而且睡 眠模式也不是一直进行下去的,如果系统进入睡眠模式一段时间后(具体时间可以设定)没有被唤醒,那么还会自动被转入休眠状态,并关闭对内存的供电,进一步 节约能耗。

   “混合睡眠”和睡眠有什么区别?
   “混合睡眠”在达到指定非活动时间后,数据就会自动保存到硬盘里的休眠文件中,然后关闭电脑。而睡眠则要等到电池电量严重不足时才会将数据保存到硬盘里的休眠文件中,然后关闭电脑。前者主要针对台式机推出,而后者主要服务于笔记本。

 

 

Windows的待机模式大家应该不陌生,使用得最多的就是笔记本电脑,合上屏幕电脑就进入待机模式,翻开就能很快地进入系统。不过在桌面电脑上,习惯用 待机模式的朋友并不多,而且对Windows提供的各种待机模式也搞不太明白,现在Windows7操作系统逐渐普及,而它所提供的待机模式更加先进,博 士在这里告诉你,Windows7的待机模式完全可以在多数情况下代替简单的“关机”,不信?有图有数据有真 相,跟本博士一起来体验一番吧。

 

Win7待机深度测试


电脑待机模式简介

首先跟本博士来充一下电,温习一下待机模式的知识。当然,在这之前你得搞明白待机和关机的区别,关机就是关闭所有程序、断掉电源,下次开机的时候一切重新开始,而待机则有几种不同的状态了,下面是几种最常见的,我们来看看。
S1模式:系统处于低电源供应状态,随时可以唤醒并还原到待机前状态。
S3模式:保存当前系统状态至内存,然后进入假关机状态,此时除了内存需要电源来保持数据以外,其他的设备全部断电。唤醒后可以快速回复到待机前状态。
S4 模式:将当前系统状态完整保存在硬盘中,唤醒时直接从硬盘恢复到内存,因此会占用和你现有内存大小一样的硬盘空间,这也就是我们常说的休眠模式。
从目前的主板产品来看,S1和S3两种待机模式是使用最普遍的,而S4(休眠)模式则只要在Windows系统中选择即可。

OK,现在我们基本上有些概念了,但实际使用起来是什么状况呢?Windows7的待机模式又能给我们带来什么惊喜?实际测试一下便知道。
Win7待机深度测试" 在Windows7中给电源按键定义睡眠/休眠/关机功能
待机、休眠、关机大比拼
本博士选择了一套AMD的平台来进行各种待机状态的测试,处理器为Phenom ⅡX4 955、主板为AMD 790FX、显卡为Radeon HD5850、内存为DDR3 1333 2GB×2、硬盘为希捷酷鱼7200.12 2TB,而电源使用了航嘉X7 900W——尽量使用功耗高的平台也能更好地观察各种待机模式下的功耗变化。操作系统方面,当然是使用Windows7旗舰版,而待机和休眠模式则可以在系统的电源管理菜单中调节,S1和S3模式则在主板BIOS中选择,这个不用多说。
S3模式下的睡眠:首先要说的是,在S3模式下,除了内存外的设备是完全断电的(电源风扇也停转),所以会用到电源的5VSB输出,因此有5W的待机功耗 就不难解释了。睡眠模式唤醒的速度非常之快,本博士在电脑睡眠前开启了《鬼泣4》的游戏测试程序,按下电源键后3秒进入睡眠模式,而唤醒到睡眠前状态竟然 只花了7秒钟而已(其中还包括显示器从黑屏到有画面显示的响应时间,所以实际唤醒时间应该比这还要短)。
那么睡眠模式既然是需要电源为内存供电,如果在睡眠的时候断电了,系统状态会丢失吗?博士当然要试验一下。同样是开着3D游戏的状态下,按下电源键睡眠 后,再拔掉电源线,重新通电开机,有趣的是系统依然恢复到了运行着3D游戏的状态,只不过恢复过程就和休眠模式一样了(有进Windows7系统的启动画 面,而不是睡眠唤醒那样立刻回到桌面),而且时间也从7秒增加到了32秒(基本上和休眠模式相当)。Windows7这个设计不错,即便是睡眠状态下误以 为已关机而拔掉电源,也一样可以在重新开机的时候恢复到睡眠前的状态。
S1模式下的睡眠:在S1模式下,开启3D游戏进入睡眠状态,CPU风扇、显卡风扇依然在旋转,系统功耗为89W,这证明系统依然是以较低的功耗在运转, 只是屏幕没有显示而已,当然在这种睡眠状态下,唤醒的速度是最快的,仅需5秒就可以返回运行游戏的状态。由于依然有一定功耗,所以在这种状态下,机箱内的 主要部件依然在发热,一定要注意散热。之前有朋友说系统进入待机模式后烧掉CPU或者显卡,很有可能就是在这种状态下散热系统出问题而导致的。
S4休眠模式:再来看看休眠模式(S4),由于是直接将系统状态保存至硬盘(要求C盘有大于等于内存容量的空闲空间,否则不允许进行休眠),所以按下电源 键进入休眠模式只需要3秒钟(关机则需要9秒钟,因为要关闭很多正在运行的程序),重新唤醒时会有像重新开机那样的启动画面,不过由于不用再一步步去启动 程序,休眠唤醒的速度还是比重新开机要稍微快一点,当然远远不及睡眠唤醒的速度快。另外,由于是完全断电,休眠模式和关机模式的功耗完全一样(只有 5VSB输出本身的损耗)。
现在大家基本上对Windows7的几种待机模式有一定了解了,那么到底用哪种待机方式比较好呢?本博士推荐使用Windows7在S3模式下的睡眠模 式,从测试来看,它可以在保存关机时状态的情况下只需要对内存供电(功耗很低,同时彻底避免了散热的问题,完全断电数据也能恢复),同时唤醒的速度也较 快。当然,如果你的使用环境需要在人走开之后电脑完全断电的话,还是使用S4模式下的休眠模式最为稳妥。需要提醒大家的是,由于一些第三方驱动程序或者是 常驻程序会导致唤醒失败,所以大家要使用待机模式的话,最好安装通过微软WHQL认证的驱动程序,并在待机前关闭一些可能导致唤醒失败的常驻程序。

在Windows XP操作系统中,默认的待机模式只有睡眠(系统中显示为待机),如果要启动休眠的话,需要在休眠选项卡中勾选休眠选项。
在Windows XP中进入睡眠模式也很快,只要5秒左右,不过这时候并没有断电,唤醒的速度也很快,不到5秒就恢复完毕。但是如果断电的话,就不能恢复到睡眠之前的状态 (这一点不如Windows7)。如果使用休眠模式的话,进入休眠模式会花20秒左右(将2GB内存数据保存到硬盘),唤醒的话,时间比重新开机进入系统 要快一些,而且是直接恢复到休眠前的状态,当然,休眠的好处就是不怕断电,因为数据是保存在硬盘上的。所以,在目前硬盘容量普遍很大的情况下,在 Windows XP中使用休眠是个既稳妥又相对快速的待机方案。
在Windows XP中设置待机与休眠(休眠模式要求C盘下有超过内存总容量的空闲空间)
特别提示
对于主板是否支持S1和S3两种睡眠模式,则需要看其本身的设计和BIOS的支持。如果BIOS中没有选择S1和S3模式的选项,一般都是默认的S1模 式,此时进入睡眠模式所有风扇会继续运转,如果睡眠后风扇不转则需要检查散热片温度是否正常,谨防烧坏CPU或主板芯片。大家在决定自己要选用的睡眠模式 之前最好都先试一下,以防万一。


本文转载自:http://blog.sina.com.cn/s/blog_490bf17001012mtd.html

Q
粉丝 4
博文 17
码字总数 6420
作品 0
海淀
私信 提问
Android系统电源管理及省电机制

Android系统电源管理及省电机制 移动设备因为其有限的电池,省电技巧成为Android开发者的一项必备知识。本文不探讨怎样从应用层面省电,因为这些内容已经有很成熟的总结。本文拟介绍Android...

Mr云台
2017/07/05
0
0
String类中==和equals测试

@Test public void test01(){ // ==比较地址,equals比较内容 String s1 ="abc"; String s2 ="abc"; String s3 = s1; String s4 = new String("abc"); String s5 = new String("abc"); Syst......

Timor_张先生
2018/09/12
0
0
让数据帧告诉你生成树的选举原则

让数据帧告诉你生成树的选举原则 简单描述一下生成树选举原则: 最小的根网桥ID(用于选举根桥) 最小的根路径开销(用于选举根端口和指定端口) 最小的发送者网桥ID(用于选举根端口和指定端...

taolinba213
2016/06/26
0
0
关于String与常量池的面试题

关于String的面试题遇到好多,感觉自己的知识还是有欠缺的地方。有些问题还是不能很好解释。下面我先上题,再说下自己的理解,希望有大神能帮到我。 String s1 = "Programming"; String s2 =...

belizer
2018/04/21
1K
6
jdk1.8中String的intern方法简单介绍

jdk1.8中String的intern方法简单介绍 先来看三段代码: 运行结果是 惊不惊喜,意不意外?按道理应该都是true或者都是false对不对? 好下面来简单讲解一下: 首先贴一段jdk源码的注释,记住永...

ValSong
04/11
18
0

没有更多内容

加载失败,请刷新页面

加载更多

Netty整合Protobuffer

现在我们都知道,rpc的三要素:IO模型,线程模型,然后就是数据交互模型,即我们说的序列化和反序列化,现在我们来看一下压缩比率最大的二进制序列化方式——Protobuffer,而且该方式是可以跨...

算法之名
33分钟前
17
0
如何用C++实现栈

栈的定义 栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压...

BWH_Steven
52分钟前
5
0
编程作业20190210900169

1编写一个程序,提示用户输入名和姓,然后以“名,姓”的格式打印出来。 #include <stdio.h>#include <stdlib.h> int main(){ char firstName[20]; char lastName[20]; print......

1李嘉焘1
今天
12
0
补码的优点及原理分析

只讨论整数 1.计算机内部为什么没有减法器? 减法运算本身其实就是加法,如x - y即x +(-y),所以只需要将负数成功表示出来并可以参加加法运算,那加法器就可同时实现“+”和“-”的运算。这...

清自以敬
今天
76
0
Docker 可视化管理 portainer

官网安装指南: https://portainer.readthedocs.io/en/latest/deployment.html docker-compose.yml 位置,下载地址:https://downloads.portainer.io/docker-compose.yml...

Moks角木
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部