嵌入式Linux操作系統(tǒng)的實(shí)現(xiàn)及其應(yīng)用研究
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引 言
嵌入式操作系統(tǒng)是嵌入式系統(tǒng)中最重要的組成部分,其設(shè)計(jì)和安裝效果直接決定著嵌入式系統(tǒng)的整體功能和質(zhì)量。Linux 操作系統(tǒng)是一種具有開(kāi)放性的嵌入式操作系統(tǒng),在國(guó)外具有廣泛的應(yīng)用。本文介紹了嵌入式系統(tǒng)的設(shè)計(jì)要求及Linux 操作系統(tǒng)的一些特征,并對(duì)其設(shè)計(jì)及應(yīng)用提出了一些思考。
1 嵌入式系統(tǒng)
嵌入式系統(tǒng)是一種以應(yīng)用程序?yàn)楹诵?,以?jì)算機(jī)技術(shù)為支持的對(duì)軟件及硬件進(jìn)行裁剪的,具有良好的穩(wěn)定性、適應(yīng)性的計(jì)算機(jī)程序。嵌入式系統(tǒng)包括處理機(jī)、支持硬件、嵌入式操作系統(tǒng)等幾個(gè)部分組成??梢钥闯?,嵌入式系統(tǒng)是計(jì)算機(jī)技術(shù)與電子技術(shù)、半導(dǎo)體技術(shù)結(jié)合的產(chǎn)物,可以實(shí)現(xiàn)對(duì)軟件、硬件的管理和應(yīng)用,是一類(lèi)具有綜合功能、技術(shù)密集、投資較高的技術(shù)型系統(tǒng)。
事實(shí)上,嵌入式系統(tǒng)在人們的日常生活中已得到了廣泛的應(yīng)用。人們使用的許多電子設(shè)備中都包含著嵌入式系統(tǒng),例如 MP3、pad、智能電器、車(chē)載 GPS 等。嵌入式技術(shù)在未來(lái)將有更廣闊的應(yīng)用前景,很可能成為計(jì)算機(jī)之后第二大發(fā)明。
1.1 嵌入式系統(tǒng)的發(fā)展歷史及現(xiàn)狀
嵌入式系統(tǒng)的發(fā)展總共經(jīng)歷了四個(gè)階段:
第一個(gè)階段的嵌入式系統(tǒng)是以單芯片為核心技術(shù)的可編程系統(tǒng)。這種系統(tǒng)具有較為完善的監(jiān)測(cè)功能和配置功能,通常被應(yīng)用于一些專(zhuān)業(yè)性要求較高的設(shè)備中。在應(yīng)用時(shí),這種系統(tǒng)不需要操作系統(tǒng)的輔助,而是采用匯編語(yǔ)言對(duì)系統(tǒng)進(jìn)行直接的控制,在運(yùn)行結(jié)束后可以自動(dòng)清除系統(tǒng)中殘留的信息。第一個(gè)階段的嵌入式系統(tǒng)的主要特點(diǎn)是系統(tǒng)的結(jié)構(gòu)較為簡(jiǎn)單, 功能較為單一,能夠處理的數(shù)據(jù)量較小,存儲(chǔ)的容量較小。
第二個(gè)階段嵌入式系統(tǒng)采用了CPU 為核心控制器。由于CPU 的種類(lèi)較多,在兼容性上有所不足。系統(tǒng)的建設(shè)和使用成本較高。系統(tǒng)的使用面較為狹窄,主要用于控制監(jiān)控系統(tǒng)的運(yùn)行。
第三個(gè)階段的嵌入式系統(tǒng)是以嵌入式的操作系統(tǒng)為標(biāo)志。這一階段的嵌入式操作系統(tǒng)在兼容性上有了明顯的提升,在各種設(shè)備中都能進(jìn)行使用,操作系統(tǒng)的運(yùn)行效率有了極大的提升,并且表現(xiàn)出了良好的模塊化。
第四個(gè)階段嵌入式系統(tǒng)的發(fā)展以互聯(lián)網(wǎng)的應(yīng)用為標(biāo)志?;ヂ?lián)網(wǎng)的應(yīng)用為嵌入式系統(tǒng)的應(yīng)用提供更廣泛的平臺(tái),但當(dāng)前絕大多數(shù)系統(tǒng)還不具備與互聯(lián)網(wǎng)連接使用的功能。隨著互聯(lián)網(wǎng)技術(shù)和嵌入式技術(shù)的進(jìn)一步發(fā)展,這一目標(biāo)將會(huì)成為現(xiàn)實(shí)。
1.2 嵌入式系統(tǒng)體系結(jié)構(gòu)
嵌入式系統(tǒng)的體系結(jié)構(gòu)由四個(gè)部分組成,分別是嵌入式處理器、嵌入式外圍設(shè)備、嵌入式操作系統(tǒng)和嵌入式應(yīng)用軟件。嵌入式處理器是嵌入式系統(tǒng)的核心部分。與一般的處理器相比,嵌入式處理器的優(yōu)勢(shì)在于,它通常是專(zhuān)門(mén)定制的,因此在專(zhuān)業(yè)性上有更好的保障。此外,在運(yùn)行效率和穩(wěn)定性上也有更好的表現(xiàn)。嵌入式外圍設(shè)備包括存儲(chǔ)設(shè)備、通信設(shè)備、調(diào)試設(shè)備、顯示設(shè)備等。根據(jù)功能劃分可以分為存儲(chǔ)設(shè)備、通信設(shè)備和顯示設(shè)備三大類(lèi)。存儲(chǔ)設(shè)備主要用于數(shù)據(jù)的存儲(chǔ), 分為靜態(tài)存儲(chǔ)器、動(dòng)態(tài)存儲(chǔ)器等。嵌入式操作系統(tǒng)集中了存儲(chǔ)、處理、調(diào)度等功能,能夠提高系統(tǒng)的便捷性和綜合性。嵌入式應(yīng)用系統(tǒng)具有一定的專(zhuān)業(yè)性,主要用于固定的平臺(tái)中,從而滿(mǎn)足用戶(hù)的使用需求。用戶(hù)對(duì)系統(tǒng)通常有較高的時(shí)間和精確度上的要求,嵌入式應(yīng)用系統(tǒng)就是為了滿(mǎn)足用戶(hù)的這些需求。與普通的應(yīng)用程序相比,嵌入式系統(tǒng)在準(zhǔn)確性、穩(wěn)定性、安全性上有更好的表現(xiàn),并且還具有良好的環(huán)保性和經(jīng)濟(jì)性。
2 嵌入式操作系統(tǒng)
2.1 嵌入式操作系統(tǒng)的定義
嵌入式操作系統(tǒng)是在嵌入式系統(tǒng)中負(fù)責(zé)支持嵌入式應(yīng)用程序運(yùn)行的操作系統(tǒng),一般包含驅(qū)動(dòng)軟件、系統(tǒng)內(nèi)核、通信協(xié)議、瀏覽器等部分。與普通的操作系統(tǒng)相比,在系統(tǒng)的時(shí)效性、硬件相關(guān)性上都有較好的性能。嵌入式操作系統(tǒng)除了具備一般操作系統(tǒng)的基礎(chǔ)功能,如任務(wù)調(diào)度、終端處理、文件傳輸?shù)韧?,還具有以下的一些優(yōu)點(diǎn) :第一,可裝卸性。由于系統(tǒng)的開(kāi)放和伸縮性,嵌入式系統(tǒng)具有良好的可裝卸性 ;第二, 良好的時(shí)效性。嵌入式操作系統(tǒng)可以安裝在各種終端控制設(shè)備中;第三,操作簡(jiǎn)單方便,擁有簡(jiǎn)潔直觀(guān)的圖形界面,便于學(xué)習(xí)和掌握 ;第四,強(qiáng)穩(wěn)定性,弱交互性。
2.2 幾種典型的嵌入式操作系統(tǒng)
操作系統(tǒng)是計(jì)算機(jī)中的核心部件,也是嵌入式系統(tǒng)的關(guān)鍵組成成分。嵌入式操作系統(tǒng)的性能直接決定著嵌入式系統(tǒng)的功能和工作效率。
根據(jù)嵌入式操作系統(tǒng)的用途,可以將其分為兩類(lèi),分別是非實(shí)時(shí)系統(tǒng)和實(shí)時(shí)系統(tǒng)。非實(shí)時(shí)系統(tǒng)主要用于消費(fèi)電子產(chǎn)品中,包括數(shù)字助理、移動(dòng)電話(huà)等設(shè)備。實(shí)時(shí)操作系統(tǒng)主要用于控制、通信、醫(yī)療等方面。上個(gè)世紀(jì)末,發(fā)達(dá)國(guó)家就開(kāi)始將嵌入式系統(tǒng)用于商業(yè)化的操作系統(tǒng)開(kāi)發(fā)商,嵌入式操作系統(tǒng)的應(yīng)用領(lǐng)域更加的廣泛。這些系統(tǒng)具有較強(qiáng)的專(zhuān)業(yè)性,為嵌入式系統(tǒng)的應(yīng)用奠定了良好的基礎(chǔ)。但在制造成本上較為高昂, 且源代碼的開(kāi)放性不高,在一定程度上限制了其發(fā)展。為了解決這一困境,Linux 系統(tǒng)被研發(fā)了出來(lái),成為商業(yè)系統(tǒng)中應(yīng)用最為廣泛的嵌入式操作系統(tǒng)。Linux 具有許多突出的優(yōu)點(diǎn),從而獲得了系統(tǒng)開(kāi)發(fā)商的重視和發(fā)展。
3 嵌入式 Linux操作系統(tǒng)
3.1 Linux操作系統(tǒng)
Linux 操作系統(tǒng)是出了windows 操作系統(tǒng)外使用最為廣泛的操作系統(tǒng)之一。Linux 操作系統(tǒng)與一般的操作系統(tǒng)相比, 主要有三個(gè)方面的優(yōu)勢(shì)。首先,Linux 操作系統(tǒng)的源代碼具有較強(qiáng)的開(kāi)放性,因此,只要在使用過(guò)程中遵循 GPL 條款,用戶(hù)可以隨意下載系統(tǒng),并自行進(jìn)行更改和發(fā)布;其次,Linux 系統(tǒng)可以有效的實(shí)現(xiàn)存儲(chǔ)、管理、多處理器等功能 ;最后, Linux 系統(tǒng)具有較強(qiáng)的靈活性和創(chuàng)新性。
Linux 系統(tǒng)是基于現(xiàn)代計(jì)算機(jī)技術(shù)的新型操作系統(tǒng),其中包含了多種先進(jìn)的技術(shù)手段,能夠?qū)崿F(xiàn)多用戶(hù)多任務(wù)的實(shí)時(shí)管理,能夠支持各種處理軟件。再加上 Linux 系統(tǒng)良好的開(kāi)放性,使得世界各地的用戶(hù)都能進(jìn)行下載、使用,還能使更多的專(zhuān)家對(duì)其進(jìn)行調(diào)整和完善,為其增添新的功能。Linux 作為一項(xiàng)現(xiàn)代科技的產(chǎn)物,會(huì)隨著科技的發(fā)展不斷的進(jìn)行創(chuàng)新和完善,當(dāng)前,其功能的完善性和多樣性已經(jīng)處于世界的先列。隨著其功能的不斷增加、靈活性的提升和開(kāi)放性的增加,它的應(yīng)用將會(huì)更加的廣泛。Linux 系統(tǒng)不僅可以應(yīng)用于個(gè)人電腦中,在嵌入式系統(tǒng)中也能發(fā)揮極大的作用。Linux 系統(tǒng)良好的網(wǎng)絡(luò)功能使得嵌入式系統(tǒng)具有更強(qiáng)的網(wǎng)絡(luò)親和力,為互聯(lián)網(wǎng)的連接和擴(kuò)展提供了一個(gè)良好的平臺(tái)。
3.2 嵌入式 Linux操作系統(tǒng)
嵌入式 Linux操作系統(tǒng)是根據(jù)嵌入式系統(tǒng)自身的特點(diǎn)而設(shè)計(jì)制造而成的一種小型操作系統(tǒng)。它只含有一個(gè)內(nèi)核和一些必要的系統(tǒng)模塊,因此所需的存儲(chǔ)空間很小。它具有良好的時(shí)效性,還能進(jìn)行多任務(wù)多進(jìn)程的管理。與一般的操作系統(tǒng)相比,Linux系統(tǒng)最大的特點(diǎn)在于,它的源代碼是開(kāi)放的, 可隨意的剪裁其軟件系統(tǒng),在嵌入式系統(tǒng)中具有良好的作用。Linux還具有強(qiáng)大的網(wǎng)絡(luò)功能,為今后進(jìn)一步發(fā)展奠定了基礎(chǔ)。Linux系統(tǒng)經(jīng)濟(jì)、簡(jiǎn)潔、穩(wěn)定的優(yōu)點(diǎn)充分滿(mǎn)足了嵌入式系統(tǒng)對(duì)操作系統(tǒng)的要求,因而在嵌入式系統(tǒng)中得到了廣泛的應(yīng)用。
3.3 Linux操作系統(tǒng)的優(yōu)點(diǎn)
首先,Linux 系統(tǒng)的穩(wěn)定性很高,功能十分強(qiáng)大和完善, 可以支持多種硬件和軟件的應(yīng)用,操作簡(jiǎn)單方便。Linux 是一個(gè)功能十分完善的操作系統(tǒng),可以在多種處理器上進(jìn)行應(yīng)用。但它的體積很小,可以將其內(nèi)核與系統(tǒng)文件放進(jìn)一個(gè)軟盤(pán)上, 僅靠一臺(tái)硬件機(jī)器運(yùn)轉(zhuǎn)。Linux 系統(tǒng)還可以實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)的啟動(dòng)。
其次,Linux 系統(tǒng)的使用成本很低。傳統(tǒng)的操作系統(tǒng), 如應(yīng)用十分廣泛的 windows 系統(tǒng)都需要付費(fèi)進(jìn)行下載,在使用應(yīng)用軟件時(shí)還需要支付額外的費(fèi)用。但Linux 系統(tǒng)是完全免費(fèi)的,只要用戶(hù)遵守 GPL 協(xié)議,就可以免費(fèi)下載,還可以獲得相應(yīng)的軟件工具開(kāi)發(fā)包。這可以為用戶(hù)省下一大把支出。
第三,文檔完善。Linux 系統(tǒng)支持多種文檔類(lèi)型,并為首次使用Linux 系統(tǒng)的用戶(hù)提供了詳盡的使用幫助。Linux 系統(tǒng)與互聯(lián)網(wǎng)有著緊密的關(guān)聯(lián),許多Linux 的文檔都可以在互聯(lián)網(wǎng)上找到。隨著越來(lái)越多的研究人員和用戶(hù)參與到Linux 系統(tǒng)文檔的收集中,關(guān)于Linux 系統(tǒng)的理論研究和翻譯書(shū)籍正在不斷電增加,從而更好的幫助用戶(hù)使用這一操作系統(tǒng)。
第四,強(qiáng)大的網(wǎng)絡(luò)功能。Linux 系統(tǒng)最顯著的特點(diǎn)就是其強(qiáng)大的網(wǎng)絡(luò)功能。幾乎所有的網(wǎng)絡(luò)協(xié)議都可以在Linux 系統(tǒng)上找到,Linux 的內(nèi)核也能更好的處理網(wǎng)絡(luò)協(xié)議。
嵌入式Linux 操作系統(tǒng)的設(shè)計(jì)
嵌入式操作系統(tǒng)的設(shè)計(jì)目的是實(shí)現(xiàn)系統(tǒng)中各個(gè)應(yīng)用程序的功能,并對(duì)不同層次的系統(tǒng)結(jié)構(gòu)提供良好的支持。嵌入式Linux 操作系統(tǒng)的設(shè)計(jì)主要分為四個(gè)步驟。
首先,通過(guò)智能倉(cāng)儲(chǔ)系統(tǒng)對(duì)區(qū)域內(nèi)的溫度進(jìn)行收集,這要求嵌入式操作系統(tǒng)具備良好的時(shí)效性。但 Linux 內(nèi)核的管理模式采用的是分時(shí)機(jī)制,在時(shí)效性上略差,因此在進(jìn)行Linux系統(tǒng)設(shè)計(jì)時(shí),應(yīng)當(dāng)對(duì)其時(shí)效性進(jìn)行提升,并且增強(qiáng)中斷處理的能力。
其次,對(duì)嵌入式系統(tǒng)的設(shè)計(jì)需要從網(wǎng)絡(luò)的檢測(cè)與控制角度進(jìn)行,完善設(shè)備的采集、監(jiān)控和維護(hù)功能,對(duì)設(shè)備進(jìn)行定期的調(diào)整與維護(hù),在發(fā)現(xiàn)設(shè)備故障時(shí)及時(shí)的進(jìn)行修復(fù)。這要求嵌入式設(shè)備在運(yùn)行的過(guò)程中應(yīng)當(dāng)適時(shí)地對(duì)一些關(guān)鍵的信息數(shù)據(jù)進(jìn)行保存。這樣,即使系統(tǒng)出現(xiàn)故障需要重啟,這些數(shù)據(jù)也不會(huì)丟失。嵌入式系統(tǒng)對(duì)操作系統(tǒng)的體積有較高的要求, 因此像ide 這樣體積較大的存儲(chǔ)設(shè)備是無(wú)法應(yīng)用到嵌入式系統(tǒng)中的。嵌入式系統(tǒng)常用的存儲(chǔ)設(shè)備是閃存設(shè)備。在供電方式上, 嵌入式系統(tǒng)采用的是電池供電,在電源的穩(wěn)定性上較差。為了確保系統(tǒng)在突然斷電的情況下不會(huì)丟失重要的信息,應(yīng)當(dāng)充分發(fā)揮 Flash 的可擦寫(xiě)能力,通過(guò)Flash 來(lái)動(dòng)態(tài)的保存數(shù)據(jù)。
最后,嵌入式系統(tǒng)的應(yīng)用程序要求顯示屏上能夠顯示出采集的數(shù)據(jù)信息。這要求嵌入式操作系統(tǒng)具有中文的顯示和處理功能。但是Linux 當(dāng)前的中文顯示功能尚未完善,大多數(shù)應(yīng)用程度只能在應(yīng)用層內(nèi)進(jìn)行中文化。嵌入式設(shè)備自身的處理和存儲(chǔ)能力本身就較為有限,要提高系統(tǒng)的中文讀寫(xiě)能力, 就必須從內(nèi)核上增加中文支持。
最后,嵌入式系統(tǒng)的應(yīng)用程序應(yīng)當(dāng)以開(kāi)發(fā)板作用硬件平臺(tái),并為平臺(tái)上的所有硬件設(shè)施提供良好的 Flash 和顯示功能。
4 實(shí)時(shí)操作系統(tǒng)
實(shí)時(shí)操作系統(tǒng)是指具有一定的時(shí)效性,能夠支持實(shí)時(shí)性的控制程序的操作系統(tǒng)類(lèi)型。實(shí)時(shí)化的操作系統(tǒng)能夠在邊界內(nèi)提供系統(tǒng)服務(wù),并且能夠顯示出完成服務(wù)內(nèi)容所需要的具體時(shí)間。在實(shí)時(shí)化操作系統(tǒng)上,每一個(gè)程序運(yùn)行所需要的時(shí)間都是可以計(jì)算的。實(shí)時(shí)操作系統(tǒng)的使用目的是為了在有限的時(shí)間內(nèi)最大限度的利用系統(tǒng)的資源,實(shí)現(xiàn)對(duì)系統(tǒng)的控制作用。實(shí)時(shí)操作系統(tǒng)與分時(shí)操作系統(tǒng)有著本質(zhì)上的區(qū)別。分時(shí)操作系統(tǒng)對(duì)于程序的執(zhí)行時(shí)間并沒(méi)有嚴(yán)格的要求,在運(yùn)行時(shí)間上的誤差也不會(huì)引起太大的問(wèn)題。而實(shí)時(shí)性的操作系統(tǒng)對(duì)程序運(yùn)行的時(shí)間有著極為嚴(yán)格的要求,一旦時(shí)間出現(xiàn)誤差就會(huì)導(dǎo)致程序運(yùn)行的失效。
5 結(jié) 語(yǔ)
在當(dāng)前的技術(shù)環(huán)境下,嵌入式技術(shù)有著良好的應(yīng)用前景。隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,嵌入式系統(tǒng)的功能不斷完善, 性能更加優(yōu)越。嵌入式 Linux 具有內(nèi)核高效、源碼開(kāi)發(fā)、軟件種類(lèi)多樣等特點(diǎn),是嵌入式系統(tǒng)中重要的研究領(lǐng)域。