資源描述:
《改進(jìn)嵌入式linux系統(tǒng)實(shí)時(shí)性新方案》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、改進(jìn)嵌入式Linux系統(tǒng)實(shí)時(shí)性新方案時(shí)間:2009-05-1223:31來(lái)源:LinuxWebsite作者:尚觀點(diǎn)擊:73次對(duì)嵌入式Linux進(jìn)行實(shí)時(shí)性改進(jìn)是嵌入式操作系統(tǒng)領(lǐng)域的一個(gè)研究熱點(diǎn)。本文在分析了現(xiàn)有嵌入式操作系統(tǒng)實(shí)時(shí)性不足的基礎(chǔ)上,提出了一種新型的改進(jìn)方案(將RTAI和uClinux相結(jié)合),并給出 對(duì)嵌入式Linux進(jìn)行實(shí)時(shí)性改進(jìn)是嵌入式操作系統(tǒng)領(lǐng)域的一個(gè)研究熱點(diǎn)。本文在分析了現(xiàn)有嵌入式操作系統(tǒng)實(shí)時(shí)性不足的基礎(chǔ)上,提出了一種新型的改進(jìn)方案(將RTAI和uClinux相結(jié)合),并給出具體的工控
2、應(yīng)用實(shí)例,進(jìn)一步對(duì)這種系統(tǒng)的功能進(jìn)行有效驗(yàn)證。圖1:雙內(nèi)核實(shí)時(shí)系統(tǒng)嵌入式實(shí)時(shí)Linux架構(gòu)。嵌入式Linux以代碼開(kāi)放、價(jià)格低廉、功能強(qiáng)大又易于移植的特性正在被廣泛應(yīng)用,為嵌入式操作系統(tǒng)提供了一個(gè)極具吸引力的選擇。但許多實(shí)際應(yīng)用,譬如多媒體通信、生產(chǎn)過(guò)程控制、在線事務(wù)處理等等都要求對(duì)外部事件在限定的時(shí)間內(nèi)做出反應(yīng)。因而嵌入式系統(tǒng)實(shí)時(shí)性問(wèn)題越來(lái)越受到關(guān)注,對(duì)嵌入式Linux進(jìn)行實(shí)時(shí)性改進(jìn)也成為嵌入式操作系統(tǒng)領(lǐng)域的一個(gè)研究熱點(diǎn)。本文提出了一種基于uClinux的嵌入式實(shí)時(shí)操作系統(tǒng)方案。將RTAI和uClinu
3、x相結(jié)合,既滿足了嵌入式應(yīng)用的需求,同時(shí)又保證了系統(tǒng)的硬實(shí)時(shí)性。此外,還有強(qiáng)大的網(wǎng)絡(luò)功能、易升級(jí)性、易移植性等優(yōu)點(diǎn)。最后結(jié)合基于這一操作系統(tǒng)開(kāi)發(fā)的重大裝備遠(yuǎn)程監(jiān)控系統(tǒng)的應(yīng)用案例,進(jìn)一步從功能和性能上對(duì)其進(jìn)行驗(yàn)證?,F(xiàn)有嵌入式操作系統(tǒng)應(yīng)用中存在的問(wèn)題一個(gè)優(yōu)秀的嵌入式操作系統(tǒng)是嵌入式系統(tǒng)成功的關(guān)鍵。它除了具備一般操作系統(tǒng)最基本的功能,如任務(wù)調(diào)度、同步機(jī)制、中斷處理、文件功能等,還需要具有以下特點(diǎn):1.更好的硬件適應(yīng)性,也就是良好的移植性;2.占有更少的硬件資源;3.高可靠性;4.提供強(qiáng)大的網(wǎng)絡(luò)功能,支持TCP/
4、IP協(xié)議及其他協(xié)議;5.有些應(yīng)用要求具有實(shí)時(shí)性能?,F(xiàn)有的嵌入式操作系統(tǒng)大致可分為商用型和免費(fèi)型兩類:商用型操作系統(tǒng)由于功能穩(wěn)定、可靠,有完善的技術(shù)支持和售后服務(wù),在嵌入式市場(chǎng)占有一定的份額。但它同時(shí)也存在價(jià)格昂貴、需要版權(quán)、源代碼不公開(kāi)等一系列問(wèn)題;免費(fèi)型操作系統(tǒng)(如Linux)源碼公開(kāi),有價(jià)格方面的優(yōu)勢(shì),但在嚴(yán)格滿足嵌入式實(shí)時(shí)應(yīng)用需求方面還有欠缺。圖2:實(shí)時(shí)內(nèi)核實(shí)現(xiàn)機(jī)理RTAI對(duì)Linux的實(shí)時(shí)性改進(jìn)現(xiàn)有幾種針對(duì)Linux的實(shí)時(shí)系統(tǒng)解決方案,實(shí)現(xiàn)方法主要包括兩種:1)直接修改Linux內(nèi)核、增加實(shí)時(shí)性,
5、如:Montavista;2)在普通Linux內(nèi)核之上增加實(shí)時(shí)模塊、雙內(nèi)核結(jié)構(gòu),如:RTLinux或RTAI。Montavista可以滿足用戶的軟實(shí)時(shí)要求,RTLinux或RTAI著重增強(qiáng)Linux的硬實(shí)時(shí)特性。軟實(shí)時(shí)系統(tǒng)的時(shí)限是柔性靈活的,它可以容忍偶然的超時(shí)錯(cuò)誤。失敗造成的后果并不嚴(yán)重,僅僅是輕微地降低了系統(tǒng)的吞吐量。硬實(shí)時(shí)系統(tǒng)有一個(gè)剛性的、不可改變的時(shí)間限制,它不允許任何超出時(shí)限的錯(cuò)誤。超時(shí)錯(cuò)誤會(huì)帶來(lái)?yè)p害甚至導(dǎo)致系統(tǒng)失敗、或者導(dǎo)致系統(tǒng)不能實(shí)現(xiàn)它的預(yù)期目標(biāo)。RTAI采用雙內(nèi)核方法,不直接使用Linux
6、的任何功能,而是把需要高度時(shí)間精度的工作寫成一個(gè)驅(qū)動(dòng)程序的形式,然后直接用PC時(shí)序芯片所產(chǎn)生的中斷調(diào)用這個(gè)驅(qū)動(dòng)程序。RTAI與NMTRT-Linux的最大不同之處在于,它在Linux上定義了一組實(shí)時(shí)硬件抽象層(RTHAL)。RTHAL將RTAI需要在Linux中修改的部分定義成一組程序界面,RTAI只使用這組界面和Linux溝通。這樣做的好處在于,用戶可以將直接修改的Linux核心程序代碼減至最小,這有可能使得將RTHAL移植到新版Linux的工作量減至最低。但是,RTAI雖然滿足了硬實(shí)時(shí)性要求,卻沒(méi)有被
7、裁減為足夠小且適用于嵌入式系統(tǒng)。RTAI+uClinux的實(shí)時(shí)方案uClinux是為嵌入式應(yīng)用設(shè)計(jì)的,它本身并沒(méi)有更多地關(guān)注實(shí)時(shí)問(wèn)題。uClinux經(jīng)過(guò)小型化改造,形成了一個(gè)高度優(yōu)化、代碼緊湊的嵌入式Linux,并保留了Linux大多數(shù)的優(yōu)點(diǎn)。它專門針對(duì)無(wú)MMU的CPU,去除了普通Linux內(nèi)核中的虛擬內(nèi)存管理部分。更重要的是,uClinux提供了完整的TCP/IP協(xié)議棧,并支持大量其他的網(wǎng)絡(luò)協(xié)議,為嵌入式系統(tǒng)提供了強(qiáng)大的網(wǎng)絡(luò)支持。而從前面的分析可以看出,RTAI是基于普通Linux內(nèi)核,相對(duì)于嵌入式應(yīng)用
8、其內(nèi)核過(guò)于龐大;而uClinux本身并沒(méi)有更多地關(guān)注實(shí)時(shí)問(wèn)題。因此,可以將RTAI和uClinux相結(jié)合,采用雙內(nèi)核的設(shè)計(jì)方案,既滿足了嵌入式應(yīng)用的需求,又保證了系統(tǒng)的硬實(shí)時(shí)性。1.硬件抽象層圖3:系統(tǒng)中斷處理流程圖系統(tǒng)的實(shí)現(xiàn)基礎(chǔ)是硬件抽象層,通過(guò)硬件抽象層進(jìn)行硬件管理,把基本內(nèi)核和實(shí)時(shí)內(nèi)核結(jié)合在一起,其中一個(gè)內(nèi)核的改變,不會(huì)影響另一個(gè)內(nèi)核的執(zhí)行。硬件抽象層定義了本系統(tǒng)同硬件之間的抽象接口,主要用來(lái)截取硬件中斷,并且依據(jù)實(shí)時(shí)內(nèi)