你需要了解的嵌入式Linux
Linux內核的維護
開(kāi)發(fā)人員在決定將選擇哪種OS時(shí),重要的是選擇一個(gè)完全支持其特定處理器的操作系統,并能夠降低總成本和縮短上市時(shí)間。
從處理器供應商的角度來(lái)看,積極參與與其內核相關(guān)的Linux內核的維護非常重要。
作為處理器 IP 公司,MIPS科技公司必須確保其新的處理器內核正確集成到Linux源代碼樹(shù),而且所有的改變都通過(guò)對舊內核和平臺的回歸測試進(jìn)行正確驗證。
由于MIPS IP內核是專(zhuān)有內核,對于MIPS和Linux社區來(lái)說(shuō)最有益的,是確保MIPS內核的所有性能和電源管理特性能夠在Linux內核中完全實(shí)現。
對新內核設計的支持不能破壞現有內核支持結構或降低其性能,而且還必須允許現有客戶(hù)快速轉移到新內核技術(shù)。MIPS內核的可配置性使得對Linux內核代碼庫的維護更富挑戰,因為許多內核配置組合必須經(jīng)過(guò)測試,以確保新增加的功能在所有組合中操作正常。
內核優(yōu)化1:多核支持
現在,為了實(shí)現最佳單位面積計算能力(MIPS/每平方毫米)和最佳單位功耗計算能力(MIPS/mW),許多處理器都利用了多核技術(shù),在幾個(gè)以較低時(shí)鐘頻率運行的內核間分配處理負載。這些應用能夠以對稱(chēng)多處理(SMP)的方式進(jìn)行分配,其中一項任務(wù)是內核間的基本平分;或者采用非對稱(chēng)多處理(AMP),在這里特定任務(wù)被分配給一個(gè)特定內核。不論是哪種方式,Linux內核中必須有適當的支持允許實(shí)現這些編程模型,同時(shí)對應用開(kāi)發(fā)者盡可能的透明。
MIPS科技的多線(xiàn)程34K內核和多線(xiàn)程/多處理1004K內核所要求的方式,與內核內的多核管理方法略微不同,因為34K內核能夠在單一內核的物理實(shí)例中提供多個(gè)虛擬內核或虛擬處理單元(VPE),而1004K內核則可提供多核器件的一致執行。
對于每個(gè)內核,我們執行的Linux內核多核支持和優(yōu)化都必須能夠正確識別所使用的內核,并妥善初始化和無(wú)縫實(shí)現特定的多核功能。必須明白,執行基于34K器件的任務(wù)共享模型時(shí),一個(gè)物理內核實(shí)際上是以多于一個(gè)虛擬內核的形式出現的,這些內核并不會(huì )自動(dòng)進(jìn)行一致性管理。這種多核環(huán)境在某些情況下比較適合AMP環(huán)境,如每個(gè)VPE 運行一個(gè)獨立操作系統。1004K 內核真正的一致性多核設計使傳統的SMP模式更具吸引力,在這里一個(gè)操作系統可以完全控制兩個(gè)內核。
內核優(yōu)化2:電源管理
在今天的綠色計算環(huán)境中,電源管理日漸重要,不僅體現在要求最大限度延長(cháng)電池壽命的便攜式設備方面,而且體現在需要盡量減少能源浪費和熱量的AC 供電系統中。目前Linux內核電源管理支持主要集中在通過(guò)ACPI的標準 PC。但是ACPI 接口并不適合先進(jìn)的多核SoC,因為后者必須將一致性電源管理方案擴展至多個(gè)內核、內部SoC外設以及最后的外部系統外設(如 RF 功率放大器)。
在MIPS,我們執行了一個(gè)先進(jìn)的電源管理IP塊,稱(chēng)為組群電源控制器(CPC),在具體的1004K執行中,它允許對每個(gè)內核的單獨控制,使內核可以進(jìn)入或離開(kāi)一致性操作,并在需要的情況下徹底關(guān)掉電源。這樣的電源管理模式能夠進(jìn)一步擴展,使內核電壓和頻率調制處于操作系統本身的控制之下。這個(gè)CPC塊的功能還必須擴展至Linux內核。我們現在正在構建這個(gè)電源管理結構的基礎,以實(shí)現針對 Linux內核本身及在標準Linux應用領(lǐng)域下運行的其他應用的全面API。
F2: 組群電源控制器允許在特定的多核實(shí)現中對每個(gè)內核進(jìn)行單獨控制
Linux 開(kāi)發(fā)工具
當考慮處理器對OS的支持時(shí),開(kāi)發(fā)工具很重要。
備受稱(chēng)贊的內核評測工具是Linux事件分析器,能夠剖析整個(gè)系統。通常這些工具可捕獲目標內發(fā)生的用戶(hù)選擇的 Linux 事件,然后根據時(shí)間通過(guò)圖形顯示這些事件。這些捕獲有時(shí)能夠收集高達20秒的 Linux系統活動(dòng)。
不管應用如何,開(kāi)發(fā)者都應該確保他們選擇的處理器架構包含一個(gè)無(wú)縫的開(kāi)發(fā)環(huán)境,包括編譯器、調試器、性能和剖析工具。這種性質(zhì)的工具必須滿(mǎn)足上市時(shí)間要求,并從一個(gè)嵌入式系統設計中獲取最大的性能。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論