專家解讀嵌入式Linux特性
從處理器供貨商的角度來看,積極參與與其核心相關(guān)的Linux核心的維護(hù)非常重要。這些供貨商最有能力實(shí)現(xiàn)額外的新功能,以及增加原有核心功能的穩(wěn)定性,因?yàn)樗麄兞私膺@些核心設(shè)計(jì)中的所有‘秘密’細(xì)節(jié)。
本文引用地址:http://www.ex-cimer.com/article/235149.htm以 MIPS為例,作為處理器IP公司,MIPS必須確保其新的處理器核心完全整合在Linux原始程序代碼樹,且所有的變更都透過對舊核心和平臺的回歸測試進(jìn) 行正確驗(yàn)證。MIPS的核心維護(hù)人員必須‘簽署’(核準(zhǔn))每個(gè)建議的‘外掛程序’。這些外掛程序由MIPS及其客戶提交,可強(qiáng)化核心功能,并改善對現(xiàn)有核 心的支持和偶爾的錯(cuò)誤修復(fù)。
對于像MIPS這樣的IP核心供貨商和Linux社群來說,最有益的方式是確保其核心的所有性能 和電源管理特性能夠在Linux核心中完全實(shí)現(xiàn),以便為采用Linux作為設(shè)計(jì)核心OS的使用者最佳化使用者體驗(yàn),并讓數(shù)以百計(jì)的Linux核心編程人員 進(jìn)行核心增強(qiáng)的同行審查。
為了實(shí)現(xiàn)最佳單位面積運(yùn)算能力(MIPS/每平方毫米)和最佳單位功耗運(yùn)算能力(MIPS /mW),許多處理器都利用了多核心技術(shù),在幾個(gè)以較低時(shí)脈頻率執(zhí)行的核心間分配處理負(fù)載。這些應(yīng)用能夠以對稱多處理(SMP)的方式進(jìn)行分配,其中一項(xiàng) 任務(wù)是核心間的基本平分;或者采用非對稱多處理(AMP),在這里特定任務(wù)被分配給一個(gè)特定核心。不論是哪種方式,Linux核心中必須有適當(dāng)?shù)闹С衷试S 實(shí)現(xiàn)這些編程模型,同時(shí)對應(yīng)用開發(fā)者盡可能的透明。
另一個(gè)重要的Linux核心最佳化例子是電源管理。在今天的綠色運(yùn)算環(huán)境 中,電源管理日漸重要,不僅展現(xiàn)在要求大幅延長電池壽命的可攜式設(shè)備方面,而且展現(xiàn)在需要盡量減少能源浪費(fèi)和熱量的AC供電系統(tǒng)中。目前一個(gè)典型的手機(jī)必 須管理20多個(gè)不同的電源層,還不包括應(yīng)用處理器SoC內(nèi)和核心本身的電壓島。
目前Linux核心電源管理支持主要集中在通過ACPI的標(biāo)準(zhǔn)PC。但是ACPI接口并不適合先進(jìn)的多核心SoC,因?yàn)楹笳弑仨殞⒁恢滦噪娫垂芾矸桨笖U(kuò)展至多個(gè)核心、內(nèi)部SoC外圍設(shè)備以及最后的外部系統(tǒng)外圍設(shè)備(如RF功率放大器)。
在 MIPS,我們執(zhí)行了一個(gè)先進(jìn)的電源管理IP模塊,稱為叢集電源控制器(CPC),在具體的1004K執(zhí)行中,它允許對每個(gè)核心的單獨(dú)控制,使核心可以進(jìn) 入或離開一致性作業(yè),并在需要的情況下徹底關(guān)掉電源。這樣的電源管理模式能夠進(jìn)一步擴(kuò)展,使核心電壓和頻率調(diào)變處于操作系統(tǒng)本身的控制之下。這個(gè)CPC模 組的功能還必須擴(kuò)展至Linux核心。
圖2:叢集電源控制器允許在特定的多核心架構(gòu)中對每個(gè)核心進(jìn)行單獨(dú)控制。
Linux開發(fā)工具
當(dāng)考慮處理器對OS的支持時(shí),開發(fā)工具很重要。最新一代Linux開發(fā)工具利用了芯片級儀器(On-Chip Instrumentation)對除錯(cuò)器進(jìn)行‘硬件協(xié)助’。這些工具都是特定架構(gòu)的,并非所有處理器都支持這種獨(dú)特的除錯(cuò)方法。例如,目前有的 Linux工具可以剖析Linux核心及加載模塊。這些工具依賴于:處理器能夠以極高的速度對PC緩存器進(jìn)行透明采樣,并將這些信息傳送到除錯(cuò)器。加上來 自加載模塊的符號信息(Linux設(shè)備驅(qū)動程序的典型形式),開發(fā)者能夠迅速剖析Linux核心,并確定設(shè)備驅(qū)動程序可能會將什么要求放在核心上。最佳化 Linux核心性能可能對系統(tǒng)的性能產(chǎn)生巨大的影響。
備受稱贊的核心評測工具是Linux事件分析器,能夠剖析整個(gè)系統(tǒng)。通常這些工具可擷取目標(biāo)內(nèi)產(chǎn)生的使用者選擇的Linux事件,然后根據(jù)時(shí)間透過圖形顯示這些事件。這些擷取有時(shí)能夠收集高達(dá)20秒的Linux系統(tǒng)活動。
不管應(yīng)用如何,開發(fā)者都應(yīng)該確保他們選擇的處理器架構(gòu)包含一個(gè)無縫的開發(fā)環(huán)境,包括編譯器、除錯(cuò)器、性能和剖析工具。這種性質(zhì)的工具必須滿足上市時(shí)間要求, 并從一個(gè)嵌入式系統(tǒng)設(shè)計(jì)中獲取最大的性能。投資在完全整合和經(jīng)過測試的廠商提供的工具和環(huán)境,包括完整的文件、支持論壇、呼叫中心、無證見解、整合、標(biāo) 準(zhǔn),以及整個(gè)生態(tài)系統(tǒng)的連接,都可以縮短目前和未來設(shè)計(jì)上市時(shí)間。
Linux社群
經(jīng) 過多年的發(fā)展,Linux核心已經(jīng)成為可擴(kuò)展性最強(qiáng)、最可靠的操作系統(tǒng)之一,能夠支持從低階、單核到高階、多核的嵌入式設(shè)備。隨著穩(wěn)定、極為輕便的 Linux核心、數(shù)百個(gè)支持無版稅中介軟件組件、數(shù)以千計(jì)的Linux開發(fā)者,以及越來越多的商用Linux軟件和服務(wù)供貨商的出現(xiàn),Linux儼然已經(jīng) 是一個(gè)有效的操作系統(tǒng),不論是上市時(shí)間還是開發(fā)成本都是如此。
我們鼓勵(lì)所有的開發(fā)者在其下一個(gè)RTOS中考慮Linux,并 尋找一個(gè)提供專用Linux支持、龐大的生態(tài)系統(tǒng)和除錯(cuò)/開發(fā)工具的處理器廠商,確保能迅速為市場提供高品質(zhì)的產(chǎn)品。當(dāng)開發(fā)者決定采用Linux時(shí),我們 鼓勵(lì)他們──不論他們是采用‘免費(fèi)’還是商用版本,一定要對社群有所回饋。只要我們持續(xù)維護(hù)、關(guān)注和關(guān)心核心,Linux就可以繼續(xù)成長和發(fā)展,成為下一 代嵌入式設(shè)備RTOS的選擇。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)linux相關(guān)文章:linux教程
路由器相關(guān)文章:路由器工作原理
路由器相關(guān)文章:路由器工作原理
評論