查看: 4226|回复: 5
收起左侧

细说XP中的关机,待机和休眠!

[复制链接]
YoYo
发表于 2007-9-2 10:56:10 | 显示全部楼层 |阅读模式
细说XP中的关机,待机和休眠
单击"开始-关闭计算机"的时候,系统内部到底发生了一些什么事情呢???

系统内部的操作流程
第一步  调用

第二步  ExitWindowsEx()函数向系统进程CSRSS.EXE发送消息

第三步  CSRSS.EXE以调用者身份给隐藏的WinLogon窗口发消息

第四步  检测发送请求者是否有足够的权限并进入等待关机状态

第五步  再次调用Exit WindowsEx()函数,并改变系统内部标志

第六步  CSRSS.EXE开始给所有顶层的应用程序发送WM_QUERYENDSESSION和WM_ENDSESSION消息,通知他们将要关闭计算机,如果某个程 序超时(5000毫秒)没回应,则弹出"立即结束"对话框要求手动结束它.

第七步  应用程序全部关闭后WinLogon继续调用函数开始关闭一些系统进程和服务

第八步  接下来根据ExitWindowsEx()请求时的参数,判断是注销,重启还是关机,再做出相应的后期处理.如果选择关机,WinLogon将给SMSS发出 "InitiateSystemShutdown"请求,SMSS再将这个请求发给每个环境子系统,释放所有的资源(内存,进程等),退出系统.

第九步  最后SMSS调用NtShutdownSystem()来完成扫尾工作,真正执行关机操作.

待机与休眠
在"关闭计算机"的对话框里.还有"待机","重启"按钮.单击不同的按钮,将会传递不同的参数(类似1,2,3等不同的数字),并在上述流程中的第八步系统将根据这些参数来判断下一步的操作,是关机,重启还是待机.   
在"关闭计算机"对话框状态,如果按下Shift键,会发现"待机"变成了"休眠"...这是支持ACPI电源管理的电脑中的两种挂机省电状态.

ACPI一般有六种状态,分别是S0到S5:
S0 也就是我们平常工作的状态,所有设备都打开了
S1 也称作POS(Power on Suspend),这时除了通过CPU时钟控制器将CPU关闭之外,其他部件仍正常工作
S2 CPU处于停止运行状态,总线时钟也被关闭,但其他设备仍然运转
S3 也称作STR(Suspend to RAM),挂起到内存
S4 也称作STD(Suspend to Disk),这时系统主电源关闭,但硬盘仍然带电并可被唤醒
S5 连电源在内的所有设备全部关闭,功耗为0,也就是关机.

待机即是进入S3状态,把当前运行状态的数据保存在内存内,只给内存供电,硬盘,屏幕和CPU等部件则停止供电.休眠即是S4状态,靶当前运行状态的数据保存到硬盘中,然后整机完全停止供电.
当移动鼠标或敲击键盘时,可以将电脑从挂起状态唤醒,"待机"的数据时保存在内存中的,所以机器恢复较快,而"休眠"是从硬盘恢复,所以恢复速度慢一些

[ 本帖最后由 YoYo 于 2007-9-2 15:23 编辑 ]
hututtu21
发表于 2007-9-2 14:18:18 | 显示全部楼层
休眠会省电吗????
YoYo
 楼主| 发表于 2007-9-2 15:24:45 | 显示全部楼层

回复 2楼 hututtu21 的帖子

休眠时系统主电源关闭,只是硬盘仍然带电并可被唤醒.
肯定要比待机省电些!
微点卫士
发表于 2007-9-2 20:03:13 | 显示全部楼层

回复 2楼 hututtu21 的帖子

而且休眠启动时比正常开机也要省电
shu1xiong
发表于 2007-9-2 21:33:05 | 显示全部楼层
!
在家知道怎么去省电了!
kirk8
发表于 2007-9-2 22:00:48 | 显示全部楼层
我都是节电模式
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-6-27 23:09 , Processed in 0.107989 second(s), 17 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表