• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      采用Linux系統(tǒng)的非便攜式產(chǎn)品節(jié)能研究

      2014-07-25 08:59:54王少卿
      關(guān)鍵詞:休眠狀態(tài)應用程序嵌入式

      王少卿

      (深圳市泛海三江電子有限公司,廣東 深圳 518054)

      0 引言

      采用Linux系統(tǒng)的非便攜式產(chǎn)品指的是產(chǎn)品不存在電池供電,具有長期穩(wěn)定電源供電并采用Linux操作系統(tǒng)平臺的一類產(chǎn)品。例如數(shù)字樓宇對講產(chǎn)品、智能網(wǎng)絡產(chǎn)品、智能家居產(chǎn)品等。

      與之相對的是便攜式產(chǎn)品。目前在便攜式產(chǎn)品領域,如智能手機產(chǎn)品、平板電腦產(chǎn)品等,普遍采用谷歌Android或者蘋果ios操作系統(tǒng),這些操作系統(tǒng)針對電池供電的系統(tǒng)做了精心的優(yōu)化,盡可能地保持產(chǎn)品處于低功耗的工作模式,保證電池最大限度的續(xù)航時間。但是在本文提及的非便攜式產(chǎn)品領域,由于不存在電池供電的苛刻環(huán)境,加之Linux操作系統(tǒng)是一個通用的操作系統(tǒng),沒有針對某類產(chǎn)品做出特別的優(yōu)化措施,導致開發(fā)者和使用者都沒有將節(jié)能問題作為一個重要問題進行思考。在全球環(huán)境不斷惡化、節(jié)能減排呼聲日益高漲的背景下,越來越需要開發(fā)更加節(jié)能環(huán)保的產(chǎn)品。本文基于這個目的,按照Linux系統(tǒng)節(jié)能的設計方法,結(jié)合產(chǎn)品的具體功能和使用環(huán)境,做了一些有益的探索和研究。

      1 硬件能耗分布情況

      這里提取一般嵌入式產(chǎn)品的幾大部分進行分析。對于一般嵌入式產(chǎn)品而言,主要是由處理器芯片及其外圍電路加上本產(chǎn)品所需的功能芯片及其外圍電路組成。隨著集成電路技術(shù)的日新月異,現(xiàn)在的處理器芯片內(nèi)部集成了多種功能電路,構(gòu)成了一個龐大的耗能系統(tǒng)。

      圖1為一個簡單功能的產(chǎn)品硬件示意圖,箭頭指示了功耗流向,橢圓形部分是各部件功耗的大致說明。由圖可見,對于一個嵌入式產(chǎn)品而言,解決產(chǎn)品功耗問題,也就是要解決CPU功耗和外設功耗問題,需要從CPU和各外設的電源、頻率管理部分入手。目前處理器芯片和一些外設芯片都具備有低功耗模式,硬件對節(jié)能的支持是完善的,需要軟件進行合理處理,達到降低功耗的目的。下面首先分析一下操作系統(tǒng)是如何解決這個問題的。

      2 Linux操作系統(tǒng)和Android操作系統(tǒng)節(jié)能設計方案2.1 Linux操作系統(tǒng)節(jié)能方案設計

      ?

      Linux操作系統(tǒng)設計了兩種標準來解決節(jié)能問題,一種是Advanced Power Management(APM),另外一種是Advanced Configuration and Power Interface (ACPI)。這兩種方案都是針對X86架構(gòu)上存儲在Bios芯片中的Linux電源管理機制而設計的。由于嵌入式系統(tǒng)不存在Bios芯片,目前的解決方法是模擬ACPI狀態(tài)的方式實現(xiàn)電源管理,目前ACPI按程度不同有4種睡眠狀態(tài)[1],如表1所示。

      由于嵌入式系統(tǒng)的特殊性,目前Linux操作系統(tǒng)針對嵌入式處理器睡眠狀態(tài)主要是模擬Suspend to RAM(mem)狀態(tài),即ACPI睡眠狀態(tài)S3。

      Linux操作系統(tǒng)針對嵌入式處理器睡眠狀態(tài)具體的操作實現(xiàn)過程是同Linux內(nèi)核框架、驅(qū)動模型(LDM)密切相關(guān)的,正常的睡眠實現(xiàn)過程如圖2所示。

      圖中虛線框內(nèi)是對所有注冊到dpm_list的設備進行休眠,按照LDM的設備類型,這些設備包括class、type、bus等[2],但凡有一個注冊的設備休眠失敗,則整個休眠中斷,系統(tǒng)恢復到休眠前的狀態(tài)。

      圖1 產(chǎn)品硬件示意圖

      2.2 Android操作系統(tǒng)節(jié)能方案設計

      Android操作系統(tǒng)是基于Linux操作系統(tǒng),針對手機、便攜式產(chǎn)品做了特別優(yōu)化的一款操作系統(tǒng)。此類產(chǎn)品在節(jié)能方面要求極高,同時需要靈活的節(jié)能方法來完成產(chǎn)品需要的不同功能,這里簡單分析一下該系統(tǒng)的節(jié)能過程。

      Android操作系統(tǒng)的節(jié)能解決方案框架還是依賴Linux操作系統(tǒng)的。但是標準Linux操作系統(tǒng)的節(jié)能解決方案解決不了手機所必須的兩項功能:

      (1)手機要支持在LCD屏幕關(guān)閉的狀態(tài)下,后臺應用程序依然保持工作(因為LCD屏幕是耗電大戶)。例如播放歌曲的線程在屏幕關(guān)閉的情況下可以正常運行。

      (2)應用程序須具備阻止系統(tǒng)進入休眠狀態(tài)的能力。譬如手機正在長時間的播放視頻,這個時候系統(tǒng)進入休眠狀態(tài)顯然是不可以的。

      為了滿足這兩類產(chǎn)品功能的需要,Android操作系統(tǒng)在標準Linux操作系統(tǒng)上引入了Early Suspend/Late resume機制和Wake Lock機制[3]。

      表1 ACPI睡眠狀態(tài)

      圖2 Linux休眠流程

      Early Suspend/Late resume機制解決了諸如耗電大戶LCD、觸摸屏等組件提前關(guān)閉而不影響應用程序正常工作的問題。其實現(xiàn)機制是在Linux正常的休眠狀態(tài)基礎上增加了一個early suspend狀態(tài),這個狀態(tài)可以休眠需要提前休眠的設備組件,達到一定的節(jié)能效果。

      Wake Lock機制實質(zhì)上是一個鎖機制。系統(tǒng)在進入休眠狀態(tài)前會檢測這個鎖,如果應用程序事先申請了一個wake lock,則系統(tǒng)就認為此次休眠條件不成立,拒絕此次休眠要求。Android系統(tǒng)設計了兩種類型的wake lock,一種是WAKE_LOCK_SUSPEND(阻止系統(tǒng)進入休眠狀態(tài)),一種是WAKE_LOCK_IDLE(阻止系統(tǒng)進入空隙狀態(tài))。同時還可以設定應用程序擁有wake lock的時間機制,時間到就會自動釋放該鎖。這使得Wake Lock機制可以靈活應對各種復雜的場合。

      圖3為Android系統(tǒng)的休眠流程。

      圖3 Android休眠流程

      3 非便攜式產(chǎn)品功耗問題的不足及應對方案

      作為基于PC設備發(fā)展起來的操作系統(tǒng),Linux操作系統(tǒng)目前已經(jīng)成功應用在ARM、MIPS等多種架構(gòu)處理器平臺下,衍生出種類繁多的產(chǎn)品形態(tài)。由于各種產(chǎn)品形態(tài)功能、要求各不相同,Linux操作系統(tǒng)無法提供一種“大而全”的解決方案。這就需要產(chǎn)品開發(fā)者根據(jù)自己開發(fā)的產(chǎn)品的特殊要求和功能,在標準Linux系統(tǒng)平臺上,通過類似于前文所述Android系統(tǒng)的節(jié)能解決方案,提出自己的解決方案。

      本文以作者開發(fā)的一款非便攜式產(chǎn)品——數(shù)字樓宇對講設備為例進行闡述。該數(shù)字樓宇對講設備以韓國三星公司生產(chǎn)的S5PV210(ARM Cortex-A8內(nèi)核)作為主處理器芯片,搭配Linux2.6.35.7操作系統(tǒng)。該類產(chǎn)品按安裝位置和產(chǎn)品形態(tài)不同,可以分為室內(nèi)機、梯口機、圍墻機和管理機等。功能上以室內(nèi)機為例,室內(nèi)機安裝于用戶室內(nèi),可以響應梯口機、管理機的以太網(wǎng)呼叫,實現(xiàn)開鎖功能;也可以呼叫其他室內(nèi)機、管理機;本機還可以實現(xiàn)多種類似平板電腦的功能供用戶休閑娛樂使用。

      室內(nèi)機作為一種典型的長期供電設備,在實際使用環(huán)境中大部分時間都是空閑的,如果不采取一種良好的節(jié)能措施,勢必造成能源的浪費。如果采用標準Linux的節(jié)能方案,則會帶來以下問題:S5PV210不支持WOL(Wake On Lan)功能,即休眠后無法通過網(wǎng)絡喚醒設備。

      為了解決這個問題,需要對Linux標準節(jié)能方案進行改造。為了支持網(wǎng)絡喚醒功能,需要在系統(tǒng)休眠狀態(tài)下保持網(wǎng)絡芯片正常工作,保持應用程序?qū)W(wǎng)絡響應的線程不休眠,這樣才能響應其他設備通過網(wǎng)絡進行的呼叫。如要保持線程的正常工作,則CPU也必須處在工作狀態(tài)。以以上需求為基本出發(fā)點,修改Linux標準節(jié)能方案,如圖4所示。

      圖4 修改的Linux休眠流程(針對數(shù)字樓宇對講設備)

      4 結(jié)論

      通過對Linux的標準節(jié)能流程進行改造,那些非便攜式產(chǎn)品也可以在具體的使用場合實現(xiàn)節(jié)能的目標。由于基于Linux系統(tǒng)的產(chǎn)品種類繁多,各自都有不同的功能和節(jié)能目標,因此需要工程師深入了解Linux標準節(jié)能流程,同時還要對節(jié)能目標有清晰的認識,才能達到預期的節(jié)能效果。

      [1] Hewlett-Packard Corporation, Intel Corporation,Microsoft Corporation, et al. Advanced configuration and power interface specification,Revision 5.0a[EB/OL].(2013-11)[2014-07-01]. http://acpi.info/spec.htm.

      [2] CORBET J, RUBINI A,GREG K H. Linux設備驅(qū)動程序(第三版)[M].魏永明 , 耿岳 , 鐘書毅, 譯.北京:中國電力出版社,2006.

      [3] Google Corporation. Android power manager, Android 4.4 r1[EB/OL].(2014-07)[2014-07]. http://developer.android.com/intl/zh-cn/reference/android/os/PowerManager.html#.

      猜你喜歡
      休眠狀態(tài)應用程序嵌入式
      靶向治療下乳腺癌干細胞發(fā)生發(fā)展動力學分析
      水稻種子休眠調(diào)控與破除技術(shù)的發(fā)展
      癌細胞從“休眠”到“蘇醒”重大謎團獲解
      刪除Win10中自帶的應用程序
      電腦報(2019年12期)2019-09-10 05:08:20
      搭建基于Qt的嵌入式開發(fā)平臺
      嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應用
      基于分離樹的能量有效數(shù)據(jù)轉(zhuǎn)發(fā)機制*
      Altera加入嵌入式視覺聯(lián)盟
      倍福 CX8091嵌入式控制器
      自動化博覽(2014年4期)2014-02-28 22:31:15
      關(guān)閉應用程序更新提醒
      電腦迷(2012年15期)2012-04-29 17:09:47
      高邮市| 景宁| 麦盖提县| 怀仁县| 竹溪县| 咸丰县| 三门县| 清涧县| 洛宁县| 高安市| 团风县| 喀喇沁旗| 南投县| 乐山市| 颍上县| 诸暨市| 迁安市| 宁强县| 乐安县| 北京市| 宁河县| 碌曲县| 昂仁县| 京山县| 乌拉特前旗| 大埔区| 江西省| 长宁区| 东莞市| 云浮市| 双流县| 宝丰县| 筠连县| 新乡市| 江都市| 那坡县| 五常市| 习水县| 游戏| 科技| 怀来县|