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