李慧穎
摘要 隨著計算機技術(shù)不斷的發(fā)展,嵌入式系統(tǒng)技術(shù)也在不斷的發(fā)展。就目前來看,32位微處理器嵌入式系統(tǒng)以其獨特的優(yōu)勢已經(jīng)成為高端嵌入式系統(tǒng)研發(fā)的主流。但是這類嵌入式系統(tǒng)的硬件條件相對復雜。在這種情況下,為了更好的支持其運行,研究開發(fā)了許多嵌入式操作系統(tǒng),以此來支持和簡化這類操作系統(tǒng)。嵌入式Linux操作系統(tǒng)的出現(xiàn),憑借其獨特的優(yōu)勢滿足了嵌入式系統(tǒng)需求,并被廣泛的應用到不同領(lǐng)域。
關(guān)鍵詞 嵌入式Linux;操作系統(tǒng);研究
中圖分類號TP39 文獻標識碼A 文章編號 1674-6708(2012)67-0194-01
基于嵌入式Linux操作系統(tǒng)作為近年來新的系統(tǒng)方案,其不僅能實現(xiàn)全功能桌面計算,也能支持多數(shù)嵌入式系統(tǒng)中的芯片,同時其不需要任何費用,這就使得其越來越受歡迎。就目前來看,基于嵌入式Linux操作系統(tǒng)開發(fā)和設(shè)計方案已經(jīng)成為嵌入式解決最佳方案。為了使Linux操作系統(tǒng)更好的發(fā)揮其作用,嵌入式Linux操作系統(tǒng)在設(shè)計的時候,需要對bootloader、操作系統(tǒng)內(nèi)存管理、進程管理等進行分析。如何更好的對嵌入式Linux操作系統(tǒng)進行研究,已經(jīng)成為相關(guān)部門值得思索的事情。
1 對bootloader進行分析
Bootloader指的是硬件中的ROM或Flash中運行駐留運行的程序,其主要作用是輔助主要程序系統(tǒng)完成相應任務。在對嵌入式Linux進行設(shè)計的時候,是需要以硬件目標板的特征為依據(jù)對bootloader程序進行開發(fā)的。開發(fā)后使用bootloader進行初始化處理,處理的時候最好在處理器中配置一些寄存器,以方便使用控制命令打開MMU,保證初始化成果。初始化處理后還需要準備初始化硬件設(shè)備,不僅要準備初始化內(nèi)存、flash ROM,還要準備中斷控制器。一般主機下的下載系統(tǒng)映像到硬件板上接口設(shè)備, bootloader通過用網(wǎng)卡驅(qū)動程序來對其硬件設(shè)備進行驅(qū)動的,以實現(xiàn)與客戶端程序通訊并下載重要內(nèi)容;下載的硬件系統(tǒng)一般是由bootloader提供的,系統(tǒng)映像通過bootloader來實現(xiàn)與Shell界面制定內(nèi)核映像和文件系統(tǒng)映像下載位置,并對目標板上內(nèi)存地址主要內(nèi)容進行檢測。當目標端的bootloader程序能接收到映像服務程序時,其就可以以串口的方式進行發(fā)送,也可以用以太網(wǎng)的形式進行發(fā)送。發(fā)送完系統(tǒng)映像之后,如果硬件系統(tǒng)允許,bootloader命令就可以將成功的映像寫進Flash ROM中,以方便對Flash進行推動。此外,bootloader也可以對已經(jīng)下載的系統(tǒng)進行啟動,其不僅可以對RAM中或是Flash中系統(tǒng)進行啟動,也可以對具體地址進行啟動。
2 對內(nèi)存管理進行分析
內(nèi)存管理一般是指操作系統(tǒng)的內(nèi)存管理功能,這種內(nèi)存管理功能不僅能為操作系統(tǒng)提供一致頁面、申請?zhí)峁┮罁?jù),也能為地址映射功能或是釋放操作提供給依據(jù)。畢竟每一個嵌入式應用程序的完成是通過操作系統(tǒng)來完成的。嵌入式系統(tǒng)在保護自身內(nèi)存空間的時候,是需要嵌入式系統(tǒng)程序員來對編程進行操作的,以保證不越界及自身安全。一些嵌入式處理器可以提供MMU,并具有內(nèi)存地址映射和尋址功能,方便對內(nèi)存進行管理。也有些嵌入式系統(tǒng)不存在MMU,但其以虛擬地址的方式對其物理地址進行轉(zhuǎn)換,應用程序只要用虛擬地址尋找相應數(shù)據(jù),就能實現(xiàn)內(nèi)存管理。但是值得注意的是,使用這種虛擬內(nèi)存方式,就必須有MMU。這種虛擬方式的最大優(yōu)勢就是能在不同結(jié)構(gòu)體系下使用三級或是兩級頁式管理。來實現(xiàn)地址轉(zhuǎn)換。但是在實時性要求較高情況下,其不能更好的發(fā)揮其虛擬內(nèi)存的作用。在這種情況下,可以對Linux內(nèi)存管理部分進行設(shè)計和修改,以實現(xiàn)物理地址轉(zhuǎn)換。
3 對任務調(diào)度進行分析
任務調(diào)度管理是能實現(xiàn)多種任務調(diào)度的。在對嵌入式Linux系統(tǒng)進行設(shè)計的時候,只需要用自身調(diào)度方法就能實現(xiàn)任務調(diào)度。其在實際操作過程中,主要是以進程或線程方式來實現(xiàn)的,正常情況下,操作系統(tǒng)的調(diào)度方式是不能被改變的。然而任務作為操作系統(tǒng)的核心,就不得不對供給方式進行適度的調(diào)節(jié)。一般Linux使用的調(diào)度法是不能搶占的分時度算法,而嵌入式Linux不僅具有一般Linux的功能,同時也可以將任務進行分類型描述,并分別使用不同任務進行調(diào)度。為了保證任務調(diào)度順利進行,可以以增加策略標志的形式來分任務類型和調(diào)度算法,來實現(xiàn)新的Linux任務調(diào)度算法。但這種調(diào)度方法是需要考慮其中斷處理和進倉搶占方法的。對于外部中斷來說,其對系統(tǒng)實時性能是有一定影響的。一旦操作系統(tǒng)中的一小部分需要在關(guān)閉中斷情況下運行,勢必會延遲中斷。為了保證運行質(zhì)量,可以采用雙內(nèi)核模式進行調(diào)度,以避免延遲中斷;Linux作為一般操作系統(tǒng),其在實際應用過程中,其吞吐量是比較重要的,尤其是在單處理模式下,其搶占調(diào)度法是需要多種操作來完成臨界區(qū)保護的,在操作過程中很可能產(chǎn)生額外開銷,甚至嚴重影響吞吐量。在這種情況下,可以以任務優(yōu)先級為依據(jù),用實時任務搶占優(yōu)先級任務,以獲得實時性能,避免進程搶占。
4 結(jié)論
操作系統(tǒng)作為嵌入式系統(tǒng)核心,操作系統(tǒng)安全與否將直接影響網(wǎng)絡通信及軟件的安全。為了保證嵌入式系統(tǒng)安全運行,有必要對操作系統(tǒng)進行相應研究,特別是對近幾年來應用比較廣的嵌入式Linux操作系統(tǒng)進行研究。Linux內(nèi)核具有高效穩(wěn)定、易于制定、網(wǎng)路通信和文件管理機制完善等優(yōu)勢,但是其在實際應用過程中,也會出現(xiàn)一些問題。為了更好的發(fā)揮嵌入式操作系統(tǒng)優(yōu)勢,還需要從實際出發(fā)對系統(tǒng)進行改善。
參考文獻
[1]鞠劍平,冉全.黎曦嵌入式Linux在S3C2440上的移植[J].科技資訊,2010(18).
[2]林繼民,吳怡.林蕭基于Linux嵌入式系統(tǒng)開發(fā)平臺的構(gòu)建及應用[J].現(xiàn)代電子技術(shù),2010(18).
[3]劉航,劉全,凌俊銀.一種基于嵌入式Linux操作系統(tǒng)通信管理機的設(shè)計與實現(xiàn)[J].電力系統(tǒng)保護與控制,2009,37(1).
[4]權(quán)義寧,胡予濮.改進的操作系統(tǒng)訪問控制模型[J].西安電子科技大學學報,2006(4).