自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux acpi off簡(jiǎn)介

運(yùn)維 系統(tǒng)運(yùn)維
計(jì)算機(jī)領(lǐng)域的一個(gè)基本方法是增加一個(gè)抽象層,從而使得抽象層的上下兩層獨(dú)立的發(fā)展,ACPI事實(shí)上也是借鑒類(lèi)似的思想。ACPI的抽象主要是通過(guò)ACPI表中提供的信息來(lái)實(shí)現(xiàn),這些信息包括ACPI寄存器、AML代碼、配置信息等。

Linux acpi off – the Advanced Configuration & Power Interface. ACPI是OS,BIOS和硬件之間的抽象層。它允許OS和平臺(tái)獨(dú)立的發(fā)展,比如新的OS可以控制老的平臺(tái),老的OS也可以控制新的平臺(tái)而不需要額外的修改。

ACPI寄存器,描述了和ACPI相關(guān)的寄存器。OS可以直接從ACPI表中取得這些寄存器的信息,因此不必了解具體的硬件配置。
AML代碼,一種類(lèi)C的代碼。由BIOS提供,OS的AML解釋器(在Linux中叫ACPI CA)解釋執(zhí)行這些代碼。這是ACPI抽象層的關(guān)鍵,下面會(huì)詳細(xì)介紹。
配置信息,ACPI包含的配置信息很多,比如多處理器配置信息(MADT)、NUMA配置信息(SRAT、SLIT)、高精度定時(shí)器(HPET)等。
AML代碼是抽象的關(guān)鍵。為了消除平臺(tái)相關(guān)性,BIOS把平臺(tái)相關(guān)的操作用AML代碼來(lái)實(shí)現(xiàn)。OS不需要知道平臺(tái)細(xì)節(jié),它只是解釋執(zhí)行這些代碼,在解釋執(zhí)行的過(guò)程中平臺(tái)相關(guān)的操作就被執(zhí)行了。ACPI規(guī)范定義了一些標(biāo)準(zhǔn)的AML函數(shù),OS解釋執(zhí)行一個(gè)這樣的標(biāo)準(zhǔn)函數(shù)就可以實(shí)現(xiàn)特定的功能。舉個(gè)例子:
 

  1. Scope (_SB.PCI0.LPC)  
  2. {  
  3. OperationRegion (LPCS, PCI_Config, 0x00, 0x0100)  
  4. Field (LPCS, AnyAcc, NoLock, Preserve)  
  5. {  
  6. Offset (0x60),  
  7. PIRA, 8,  
  8. }  
  9. }  
  10. Device (LNKA)  
  11. {  
  12. Method (_DIS, 0, NotSerialized)  
  13. {  
  14. Or (\_SB.PCI0.LPC.PIRA, 0x80, \_SB.PCI0.LPC.PIRA)  
  15. }  
  16. }  

 

比如我們想禁止LNKA設(shè)備,Linux acpi off規(guī)范定義了OS必須執(zhí)行此設(shè)備的_DIS函數(shù)。從硬件的角度來(lái)講,禁止LNKA設(shè)備需要將某個(gè)PCI設(shè)備的配置空間的寄存器0×60的最高位置上。OS不需要知道硬件的細(xì)節(jié),它解釋執(zhí)行_DIS函數(shù)即可。上面的代碼就是AML代碼,由BIOS提供,語(yǔ)句‘Or (\_SB.PCI0.LPC.PIRA, 0×80, \_SB.PCI0.LPC.PIRA)’實(shí)際上就是給寄存器\_SB.PCI0.LPC.PIRA置上最高位, 而PIRA就是PCI設(shè)備LPC的配置空間的寄存器0×60。從此段代碼我們可以明顯的看出BIOS以AML代碼的形式隱藏(抽象)了硬件的細(xì)節(jié),從而使得OS看到的是一個(gè)平臺(tái)無(wú)關(guān)的硬件。

更多的Linux acpi off預(yù)定義的函數(shù)可以在ACPI規(guī)范中找到,可以在http://www.acpi.info下載最新的規(guī)范。

Linux acpi off實(shí)現(xiàn)中使用的AML解釋器是ACPICA -the ACPI Component Architecture. 可以從http://www.intel.com/technology/iapc/acpi/downloads.htm得到。它包含一個(gè)AML解釋器(Linux kernel包含了這個(gè)解釋器,很多其他OS也是如此,比如BSD、opensolaris等),一個(gè)編譯器(將ACPI Source Language (ASL)編譯成AML代碼)和一些測(cè)試工具。
最新的Linux acpi off的代碼可以使用git在http://www.kernel.org/git/?p=linux/kernel/git/lenb/linux-acpi-2.6.git得到。

【編輯推薦】

  1. Linux 查看磁盤(pán)空間實(shí)現(xiàn)代碼介紹
  2. Linux操作系統(tǒng)需要微軟的十大幫助
  3. 探尋Linux到底需要多低的配置
  4. Linux測(cè)試工具tcpdump監(jiān)視TCP/IP連接命令介紹
  5. Linux流量控制實(shí)例應(yīng)用介紹


 

責(zé)任編輯:chenqingxiang 來(lái)源: CSDN
相關(guān)推薦

2010-06-18 12:47:04

Linux acpi

2010-06-18 12:26:17

Linux acpi

2010-06-18 14:58:42

Linux ACPI服

2010-06-18 15:22:14

Linux ACPI服

2010-06-18 12:38:31

Linux acpi

2010-06-18 14:41:48

Linux ACPI服

2010-06-18 14:09:29

Linux acpi電

2010-06-18 12:58:17

Linux acpi電

2013-11-25 17:39:17

Linux內(nèi)核PCIACPI

2010-09-17 16:27:16

ECHO OFF

2010-03-09 17:57:46

2010-06-21 15:04:00

Linux apt

2011-09-15 14:03:58

linux軟件倉(cāng)庫(kù)

2011-01-10 16:45:45

2010-01-07 17:36:38

Linux靜態(tài)庫(kù)

2010-06-23 16:35:50

Linux Bash

2009-11-30 09:50:26

Linux內(nèi)核Linux內(nèi)核體系

2009-09-25 10:10:52

Linux學(xué)習(xí)Linux目錄簡(jiǎn)介

2010-06-21 10:49:24

Linux APM

2012-07-25 13:21:17

ibmdw
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)