首页 > 代码库 > 电源管理ACPI、及APM、GNU/Linux系统下的相应命令使用
电源管理ACPI、及APM、GNU/Linux系统下的相应命令使用
/*********************************************************************
* Author : Samson
* Date : 05/19/2014
* Test platform:
* Mint 15-3.8.13.13
* GNU bash, version 4.2.45
* *******************************************************************/
rtc:
The Real Time Clock (RTC) unit can be operated by the backup battery when the system power is off. The datainclude the time by second, minute, hour, date, day, month, and year. The RTC unit works with an external 32.768 KHz crystal and can perform the alarm function.
当系统电源关闭时,通过备用电源能够执行实时时钟(RTC)单元。数据包括的时间,即秒,分钟,小时,日期,日,月和年。
RTC 工作由一个外部32.768kHz 的晶体驱动。并能够执行报警功能。
要掌握待机和休眠,必须先了解以下两个知识:ACPI和APM。
1.什么是ACPI
ACPI是Advanced Configuration and Power Interface的缩写。中文意为“高级配置与电源接口”,这是微软、英特尔和东芝共同开发的一种工业标准。
ACPI主要可实现下面功能:
①用户能够使电脑在指定时间开、关;
②即插即用设备在插入时可以由ACPI来控制,并为其供电;
③在无人使用电脑时能够使电脑进入休眠状态,但保证一些通信设备打开。
④操作系统能够依据外设和主板详细需求为它分配能源。
⑤操作系统能够在应用程序对时间要求不高的情况下减少时钟频率。
⑥使用笔记本电脑的用户能够指定电脑在低电压情况下进入低功耗状态。以保证重要应用程序执行。
同一时候,可将ACPI分为六种不同的工作状态,各自是S0到S5,它们代表的含义各自是:
S0:电脑正常工作,所有硬件设备所有处于打开或正常工作的状态;
S1:也称为POS(Power on Suspend,CPU停止工作),其它的硬件设备仍然正常工作;
S2:将CPU关闭,但其余的硬件设备仍然运转;
S3:通常称为STR(Suspend to RAM。挂起到内存)。将执行中的数据写入内存后关闭硬盘;
S4:也称为STD(Suspend to Disk。挂起到硬盘)。内存信息写入硬盘,然后全部部件停止工作;
S5:所有硬件设备(包含电源)所有都关闭,也就是关机。
2.什么是APM
APM事实上是Advanced Power Manager(高级电源管理)的缩写,这是通过操作系统来控制、管理电脑硬件电源的一种管理模式,事实上也是一套电脑电源管理程序(软件),版本号不同,功能也有所不同,比方APM V1.0&V1.1,这两个版本号都是直接由BIOS运行电源管理,而APM V1.2则是能够先通过操作系统定义电源管理。然后再由BIOS负责运行。
在现在流行的操作系统中,都内置了APM,而在曾经的DOS时代。APM并未真正被引入操作系统,所以无法运行待机、休眠等操作,重新启动也仅仅能用Ctrl+Alt+Delete组合键或电源的Reset键。
S1 =>Standby。即指說系統處於低電源供應狀態,在 windows or BIOS 中可設定螢幕訊號輸出關閉、硬碟停止運轉進入待命狀態、電源燈號處於閃爍狀態。此時動一動滑鼠、按鍵盤任一鍵均可叫醒電腦。
S2 =>Power Standby。和 S1 幾乎是一樣。
S3 =>Suspend to RAM。即是把 windows 現在存在記憶體中的所有資料保存不動。然後進入「假關機」。
此時除了記憶體须要電源來保持資料以外。其他的設備、裝置所有停止供電。也就是說。理論上能够把 CPU, PCI, AGP device 拿掉又插回去,電腦也可能正常完毕開機及運作,仅仅要不動到記憶體和電源的部份。這時仅仅剩下電源燈號一閃一閃的,其他和關機沒什麼兩樣。(電源供應器的風扇也停止運轉喔)又一次開新後,電腦仅仅是把記憶體的資料完整性確認後。即立马會回到你進 S3 前的畫面。
S4 =>Suspend to Disk。即是把 windows 記憶體中的資料完整的存在硬碟中。等開機時就直接從存這些資料的地方直接完整的讀到記憶體,不须要跑一堆應用程式。
使用這種模式的話,硬碟一定要騰出一個完整的連續空間。
Windows 98/SE 必须要用軟體去製作一個大檔案或是一個磁區來提供 win98/SE 執行 S4 這功能。WinME/2000/XP 本身就有製作一個大檔案來給 S4 功能用(在電源管理中有一個啟動休眠,就是這個啦) 。在啟動後。在 C: 下會看到一個和你電腦現有記憶體大小一樣的大檔案。
S5 =>Shutdown....這不用說了吧。
S1/S3 在 windows 中都叫「待命 or standby」,所以在 BIOS 裏會有一個選項,設定說 Standby mode 為何。是要 S1 還是 S3,所以啦。S1 和 S3 是不能同時存在的。不是 S1,S4,S5 就是 S3,S4,S5 。
S1、S2:待机,可通过鼠标、键盘唤醒。省电低。
S3:挂起。是把所有当前执行的环境保存到内存中。而关闭硬盘等其他设备所有停止供电,必须通过按设备的开机button唤醒进行加载;
S4:休眠,把全部当前执行的环境保存到硬盘中后,仅仅是RTC处理器供电,而RTC是基于BIOS电池供电的。所以在省电方面是和关机是一样一样的。当设置的唤醒时间或是又一次按开机button后。从硬盘加载保存的环境到内存中,即是休眠前的状态,便于高速恢复到上一次的工作环境。
GNU/Linux系统中提供的rtcwake命令进行以上的5种模式:
休眠:
电脑进入休眠模式。并在2个小时(7200秒)后自己主动唤醒
sudo rtcwake -m disk -s 7200
在10:45这个时刻唤醒
sudo rtcwake -m disk -t `date -d 10:45 +%s`
会让系统进入S3。睡20秒再自己主动唤醒。
sudo rtcwake -v -s 20 -m mem
-m后的參数能够查看系统下支持的模式:
gy@yy:~$ cat /sys/power/state
standby mem disk
可见是支持以上三种模式。
关于rtcwake的很多其它请在GNU/Linux下man了。
ref:
http://wenku.baidu.com/view/016ff0ee81c758f5f61f67ba.html
http://wenku.baidu.com/view/c8f9c7f57c1cfad6195fa710.html
电源管理ACPI、及APM、GNU/Linux系统下的相应命令使用