<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > Linux PC可選用的電源管理:DPM

          Linux PC可選用的電源管理:DPM

          作者: 時(shí)間:2013-03-05 來源:網(wǎng)絡(luò) 收藏

            談到PC標(biāo)準(zhǔn),不作二想的當(dāng)然是ACPI,不過這樣的想法如今似乎需要一些補(bǔ)充,若將PC的定義更廣義延伸來看,那么可使用的機(jī)制、標(biāo)準(zhǔn)將不單只有ACPI,(Dynamic Power Management,動(dòng)態(tài))則是另一個(gè)可評(píng)估的選擇,以下我們將對(duì)此逐一說明理由。

            不是所有PC OS都支持ACPI

            PC使用ACPI的電源管理機(jī)制已久,打從1996年發(fā)布首版標(biāo)準(zhǔn)以來已經(jīng)使用超過10年的時(shí)間,就連Apple在2005年決議將Mac OS X移植到x86平臺(tái)后,所使用的電源管理規(guī)范也一樣是ACPI,由此來看真的需要選用ACPI之外的省電標(biāo)準(zhǔn)嗎?

            這樣的疑問,主要是以Windows、Mac OS X等操作系統(tǒng)所發(fā)出的觀點(diǎn),但PC并不是只能執(zhí)行這兩種操作系統(tǒng),也包含、FreeBSD以及其它適用于x86架構(gòu)的嵌入式操作系統(tǒng),這些操作系統(tǒng)就不見得依循ACPI規(guī)范。舉例來說,2003年國(guó)際信息大廠(注1)開始積極于商用市場(chǎng)推行 PC,當(dāng)時(shí)的在核心程序上對(duì)ACPI的支持尚未完備,因此預(yù)設(shè)的省電機(jī)制是更早期的APM,而非ACPI。

          DPM的架構(gòu)圖

          △圖說:的架構(gòu)圖,圖中可見可控管多項(xiàng)硬件,包括電源供應(yīng)器、系統(tǒng)頻率產(chǎn)生器、內(nèi)存控制器、處理器等。(資料來源:www.dynamicpower.sourceforge.net)

            ACPI依舊要與BIOS互動(dòng)

            其次,ACPI訂立的初衷,是期望讓操作系統(tǒng)直接進(jìn)行電源管理,言下之意是取代APM,APM是在BIOS的韌體層面來

          進(jìn)行省電管理,ACPI則希望一切都改由OS的軟件層面來管理,或至少要大幅降低對(duì)韌體層的功效依賴。

            不過,在后續(xù)的實(shí)際發(fā)展上似乎未能實(shí)現(xiàn)初衷,甚至有反其道的跡象,首版ACPI提出時(shí)是由Intel、Microsoft、Toshiba等三家業(yè)者所共同訂定,并沒有BIOS業(yè)者(如AMI、Phoenix等)的參與,就BIOS業(yè)者的角度來看,ACPI是稀釋其BIOS功效價(jià)值的標(biāo)準(zhǔn),對(duì)ACPI自然是采抵抗姿態(tài),然之后ACPI標(biāo)準(zhǔn)進(jìn)行改版(2000年的2.0版),開始有BIOS業(yè)者的參與制訂,由此可知:ACPI不僅沒有達(dá)到架空BIOS的目的,依舊對(duì)BIOS有程度上的依賴,甚而有更密切之跡。

            就PC使用者而言,省電機(jī)制是完全交付給BIOS,還是完全交付給OS,或者兩相合作等,這些都不重要也不用去在意,但對(duì)運(yùn)用PC架構(gòu)、PC技術(shù)的開發(fā)設(shè)計(jì)者而言就必須關(guān)注,OS與BIOS相依的結(jié)果將會(huì)影響設(shè)計(jì)。

            舉例而言,截至目前為止Microsoft Windows所用的BIOS是傳統(tǒng)的BIOS,也就是以真實(shí)模式、16-bit指令執(zhí)行的BIOS程序,此是打從1981年IBM PC推出以來就有的不成文標(biāo)準(zhǔn),相對(duì)的Apple將Mac OS X轉(zhuǎn)移到PC之后,所用的BIOS標(biāo)準(zhǔn)并非是傳統(tǒng)PC BIOS,而是Intel所力主的新PC韌體標(biāo)準(zhǔn):EFI(Extensible Firmware Interface,可延伸式韌體接口),EFI是以保護(hù)模式、32-bit指令執(zhí)行的BIOS。

            由此來看,Mac OS X無法使用傳統(tǒng)BIOS,Windows也無法支持先進(jìn)的EFI,如此就更難使ACPI平順運(yùn)作,即便ACPI已訂立一套自有的硬件抽象層,理論上可讓OS用更簡(jiǎn)潔(去除繁瑣、復(fù)雜細(xì)節(jié))、更具結(jié)構(gòu)性的方式來與BIOS協(xié)同運(yùn)作,然OS與BIOS間的程度上相依,就工程角度而言等于減損了BIOS的換替彈性。

          DPM的運(yùn)作狀態(tài)轉(zhuǎn)移圖其中包含了閑置

          △圖說:DPM的運(yùn)作狀態(tài)轉(zhuǎn)移圖其中包含了閑置、中斷執(zhí)掌、工作排程、休眠等各種狀態(tài)。(資料來源:www.dynamicpower.sourceforge.net)

            附帶一提的,除了傳統(tǒng)BIOS、EFI BIOS外,Transmeta公司的Crusoe、Effineon等處理器由于使用特有的CMS(Code Morphing Software)轉(zhuǎn)化機(jī)制,因此其使用的BIOS既不是傳統(tǒng)BIOS也不是EFI BIOS,如此與ACPI間的通透支持也同樣困難。

            支援ACPI不利于移攜

            說明到目前為止其實(shí)仍不會(huì)覺得問題嚴(yán)重,PC的主流OS僅一、二種,同樣的主流BIOS也僅來自于一、二家業(yè)者,很少有機(jī)會(huì)用到主流以外OS或BIOS,因此有無交換性、替換彈性似乎也無關(guān)緊要。且看來看去,影響最多的恐怕是Linux,Linux在ACPI方面的支持進(jìn)度與完整性必是落后于Windows,數(shù)年前還是以APM為主。

            同時(shí)Linux的優(yōu)勢(shì)在于平臺(tái)移攜性(Portable),小至手表、PDA,大到大型主機(jī)、超級(jí)計(jì)算機(jī)都可使用Linux,相對(duì)的Mac OS X除了從PowerPC轉(zhuǎn)往x86外,并沒有更多的跨平臺(tái)想法,所以轉(zhuǎn)移至x86后,可以更專致于擁抱x86硬件、EFI韌體,所以有否BIOS換用彈性對(duì)Mac OS X并不重要,然對(duì)Linux就相對(duì)重要,Linux在操作系統(tǒng)核心內(nèi)所支持的電源管理機(jī)制及標(biāo)準(zhǔn),必須盡可能適用于不同的硬件,連帶的也要適用于不同的韌體才行,如此才能持續(xù)保有移攜性的優(yōu)勢(shì)。

            所以,Linux確實(shí)比Windows、Mac OS X更需要一套真正不與韌體關(guān)連的電源機(jī)制,以便伴隨Linux移植至各硬件平臺(tái)時(shí)都仍能持續(xù)適用并發(fā)揮功效,若以此角度來審視則ACPI并不適合Linux,或至多只適合Linux PC。

            ACPI不適合嵌入式系統(tǒng)

            進(jìn)一步的,也因?yàn)長(zhǎng)inux具有高度移攜性,所以今日許多的嵌入式系統(tǒng)都以Linux為其操作系統(tǒng),此時(shí)的Linux成為嵌入式操作系統(tǒng),在此種運(yùn)用下ACPI就更不適合Linux。

            關(guān)于此,對(duì)嵌入式設(shè)計(jì)有概念者,即能很快了解個(gè)中的不適性,ACPI是針對(duì)一般性用途的操作系統(tǒng)所設(shè)計(jì),即是用于數(shù)據(jù)處理之類的應(yīng)用,這類型的應(yīng)用講求同時(shí)執(zhí)行多個(gè)應(yīng)用程序,程序執(zhí)行的數(shù)目不定,運(yùn)算資源、硬件資源的分配上著重在整體最大化效益,且未特別看重執(zhí)行的響應(yīng)速度。

            相對(duì)的,嵌入式操作系統(tǒng)只執(zhí)行單一或少數(shù)的應(yīng)用程序,程序的執(zhí)行個(gè)數(shù)固定,運(yùn)算資源、硬件資源講究重點(diǎn)式分配、優(yōu)先權(quán)式分配,并強(qiáng)調(diào)關(guān)鍵程序的執(zhí)行速度反應(yīng)??梢娨话阈杂猛镜牟僮飨到y(tǒng)與嵌入式操作系統(tǒng)(也多半是實(shí)時(shí)操作系統(tǒng))在特性與取向上近乎天南地北,倘若將ACPI用于嵌入式操作系統(tǒng),必會(huì)影響執(zhí)行運(yùn)作的實(shí)時(shí)表現(xiàn)。

          就高層次的角度來看DPM的技術(shù)提案

          △圖說:就高層次的角度來看DPM的技術(shù)提案,其中政策管理器將用在操作系統(tǒng)核心與應(yīng)用程序,而政策則置于操作系統(tǒng)核心中的DPM功效部分。(資料來源:www.dynamicpower.sourceforge.net)

            PC架構(gòu)的嵌入式應(yīng)用正在狂增

            如此看來問題似乎更小,一方面不是Windows、Mac OS X等操作系統(tǒng)的問題,另一方面也不是Linux PC的問題,Linux PC大可與Windows、Mac OS X一樣只支持ACPI,此僅是屬于Linux在嵌入式應(yīng)用設(shè)計(jì)上的問題。

            這樣的觀點(diǎn)并沒有錯(cuò),但若是從今日的各種發(fā)展趨勢(shì)來看,就會(huì)發(fā)現(xiàn)這樣的觀點(diǎn)并不完全。首先,現(xiàn)在有愈來愈多的嵌入式應(yīng)用是實(shí)行x86架構(gòu),例如POS收款機(jī)、ATM提款機(jī)、KIOSK信息亭等,其機(jī)內(nèi)的本體基礎(chǔ)都是x86、都是PC,但操作系統(tǒng)方面多半不是Windows或Mac OS X,而是Linux或其它的嵌入式系統(tǒng),此外如STB視訊機(jī)頂盒、PVR硬盤錄放機(jī)等也是如此。

            再者,Microsoft也積極為PC嘗試各種新應(yīng)用出路,媒體中心(Media Center)即是此中的一項(xiàng)代表,媒體中心從某種角度看也等于是一種嵌入式應(yīng)用,擔(dān)任媒體中心角色的計(jì)算機(jī)置放在客廳中,與電視相連,只具備固定的幾項(xiàng)功效,只執(zhí)行固定的幾項(xiàng)應(yīng)用,如此幾與嵌入式設(shè)計(jì)無異。

            不僅如此,PC架構(gòu)的服務(wù)器也有朝嵌入式發(fā)展的取向,伺服應(yīng)用機(jī)(Server Appliance)(注2)、NAS(Network Attached Storage)、刀鋒服務(wù)器(Blade Server)等即是此取向的代表,此類型的機(jī)器設(shè)備都具有一個(gè)共通點(diǎn),那就是只執(zhí)行單一或固定的幾項(xiàng)應(yīng)用,并講究執(zhí)行響應(yīng)速度與服務(wù)效能。

            如此看來,以PC架構(gòu)為基礎(chǔ)的嵌入式應(yīng)用正大幅增加,且用的都是嵌入式操作系統(tǒng),既為嵌入式應(yīng)用,雖然不是所有嵌入式應(yīng)用都有實(shí)時(shí)處理的需求,但仍有很大比重都需要實(shí)時(shí)性,包括視訊編譯碼、網(wǎng)絡(luò)協(xié)議傳輸?shù)?,如此也就需要更能支持與呼應(yīng)嵌入式實(shí)時(shí)處理的電源管理機(jī)制,而不是一般性數(shù)

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 下一頁

          關(guān)鍵詞: Linux 電源管理 DPM

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();