閑談淺析Fedora proc文件設備
ACPI經(jīng)過長時間的發(fā)展,這里我發(fā)表一下Fedora proc文件設備和大家討論討論很多人問道了什么ACPI,什么是APIC,他們沒關系么?名字差不多。下面給出我對其的一些理解,具體的解釋可以查看內(nèi)核文檔庫的內(nèi)核參數(shù)文件。
/usr/src/`uname -r`/Documents/kernel-parameters.txt
ACPI就是Advanced Configuration and Power Interface的縮寫,意思是“高級配置與電源接口”。這是英特爾、微軟和東芝共同開發(fā)的一種電源管理標準。
ACPI可實現(xiàn)以下功能:
1、用戶可以使外設在指定時間開關;
2、使用筆記本電腦的用戶可以指定計算機在低電壓的情況下進入低功耗狀態(tài),以保證重要的文件程序應用運行;
3、操作系統(tǒng)可以在文件程序應用對時間要求不高的情況下降低時鐘頻率;
4、操作系統(tǒng)可以根據(jù)外設和主板的具體需求為它分配能源;
5、在無人使用計算機時可以使計算機進入休眠狀態(tài),但保證一些通信Fedora proc文件設備打開;
6、即插即用Fedora proc文件設備在插入時能夠由ACPI來控制。
不過,ACPI和其他的電源管理方式一樣,要想享受到上面這些功能,必須要有軟件和硬件的支持。在軟件方面,Windows 98及其后續(xù)產(chǎn)品和Windows 2000都對ACPI給予了全面的支持;而Linux內(nèi)核目前對此支持得并不是太理想。硬件方面比較麻煩,除了要求主板、顯卡和網(wǎng)卡等外設要支持 ACPI外,還需要機箱電源的配合。電源在提供5伏電壓給主板的同時,還必須使電流穩(wěn)定在720毫安以上才可以,這樣它才能夠實現(xiàn)電腦的“睡眠”和“喚 醒”。
ACPI共有六種狀態(tài),分別是S0到S5,它們代表的含義分別是:
S0–實際上這就是我們平常的工作狀態(tài),所有Fedora proc文件設備全開,功耗一般會超過80W;
S1–也稱為POS(Power on Suspend),這時除了通過CPU時鐘控制器將CPU關閉之外,其他的部件仍然正常工作,這時的功耗一般在30W以下;(其實有些CPU降溫軟件就是利用這種工作原理)
S2–這時CPU處于停止運作狀態(tài),總線時鐘也被關閉,但其余的Fedora proc文件設備仍然運轉;
S3–這就是我們熟悉的STR(Suspend to RAM),這時的功耗不超過10W;
S4–也稱為STD(Suspend to Disk),這時系統(tǒng)主電源關閉,但是硬盤仍然帶電并可以被喚醒;
S5–這種狀態(tài)是最干脆的,就是連電源在內(nèi)的所有發(fā)全部關閉,功耗為0。
我們最常用到的是S3狀態(tài),即Suspend to RAM(掛起到內(nèi)存)狀態(tài),簡稱STR。顧名思義,STR就是把系統(tǒng)進入STR前的工作狀態(tài)數(shù)據(jù)都存放到內(nèi)存中去。在STR狀態(tài)下,電源仍然繼續(xù)為內(nèi)存等 最必要的Fedora proc文件設備供電,以確保數(shù)據(jù)不丟失,而其他Fedora proc文件設備均處于關閉狀態(tài),系統(tǒng)的耗電量極低。一旦我們按下Power按鈕(主機電源開關),系統(tǒng)就被喚醒,馬上從 內(nèi)存中讀取數(shù)據(jù)并恢復到STR之前的工作狀態(tài)。內(nèi)存的讀寫速度極快,因此我們感到進入和離開STR狀態(tài)所花費的時間不過是幾秒鐘而已;而S4狀態(tài),即 STD(掛起到硬盤)與STR的原理是完全一樣的,只不過數(shù)據(jù)是保存在硬盤中。由于硬盤的讀寫速度比內(nèi)存要慢得多,因此用起來也就沒有STR那么快了。 STD的優(yōu)點是只通過軟件就能實現(xiàn),比如Windows 2000就能在不支持STR的硬件上實現(xiàn)STD。
之前的電源管理是APM(Advanced Power Management),那么ACPI和APM相比有什么區(qū)別呢?
2、ACPI與APM比較
APM 1.0&1.1:由BIOS執(zhí)行電源管理;
APM 1.2:操作系統(tǒng)定義電源管理時間,由BIOS負責執(zhí)行;
ACPI:BIOS收集硬件信息,定義電源管理方案;由操作系統(tǒng)負責執(zhí)行。
APM是一種軟件解決方案,因此是與操作系統(tǒng)有關的, 而ACPI是工業(yè)標準,包括了軟件和硬件方面的規(guī)范。
APIC (高級可編程中斷控制器)對計算機來講有兩個作用:
一是管理IRQ的分配,可以把傳統(tǒng)的16個IRQ擴展到24個(傳統(tǒng)的管理方式叫PIC),以適應更多的Fedora proc文件設備。
二是管理多CPU。由于Nf2主板并不支持多CPU,所以,APIC關閉直接的影響是減少了可用的IRQ。
不過,如果板卡不是非常多的話,關閉 APIC對系統(tǒng)是沒有什么影響的。
要實現(xiàn)SMP功能,我們使用的CPU必須具備以下要求:
CPU 內(nèi)部必須內(nèi)置APIC單元。Intel 多處理規(guī)范的核心就是高級可編程中斷控制器(Advanced Programmable Interrupt Controllers–APICs)的使用。CPU通過彼此發(fā)送中斷來完成它們之間的通信。通過給中斷附加動作(actions),不同的CPU可以 在某種程度上彼此進行控制。每個CPU有自己的APIC(成為那個CPU的本地APIC),并且還有一個I/O APIC來處理由I/OFedora proc文件設備引起的中斷,這個I/O APIC是安裝在主板上的,但每個CPU上的APIC則不可或缺,否則將無法處理多CPU之間的中斷協(xié)調(diào)。
APIC可能遇到的問題,很多這類問題可以通過BIOS更新來解決。
下面的是通過更改HAL類型來解決
CPU實際運行頻率與BIOS設定頻率不符
NF2的用戶大約有10%的會出現(xiàn)CPU實際運行頻率與BIOS設定頻率不符的問題。我們稱之為“頻率不對”。
這種現(xiàn)象帶來的直接后果就是在測試3dmark或跑3D游戲的時候,會感覺不流暢,也稱之為“頓”。
一般在更改BIOS設置后、更新驅動后重啟時,用測試軟件如Aida32、MBM5等可以看到CPU的運行頻率和你在BIOS里設置得不一樣,而且差距 很大。這個時候,用super pi測試CPU速度,會比平常花費時間長好幾秒,用3dmark跑測試,會比平常低幾百分甚至上千分。在3dmark中看到的CPU頻率,也與BIOS設 定不符合。
如果出現(xiàn)這種情況,則屬于我們所討論的“頻率不對”的問題。
不過,不是所有的3D游戲“頓”都是這個原因。判斷的方法是:如果你只有個別游戲“頓”,或者用上述軟件測試頻率正確,就不是此問題。
如果判斷確實屬此問題,解決的方法也很簡單,經(jīng)過網(wǎng)友討論,只要關閉APIC功能即可。(注意,是APIC,不是ACPI)。
有一些服務器(比如IBM的,HP的),安裝 Linux時,會給出內(nèi)核的錯誤,導致無法安裝,這個時候可以在安裝的時候輸入
Linux acpi=off noapic
應該是安裝上的。
【編輯推薦】


















