1. gzyueqian
      13352868059
      首頁 > 新聞中心 > > 正文

      開源的嵌入式實時Linux: XtimesLinux

      更新時間: 2012-08-23 09:35:37來源: 粵嵌教育瀏覽量:1829

      Linux實時化研究是業界一個很老的話題,自從RTLinux在1999年采用獨創的雙內核方式實現Linux實時化 以后,采用雙內核方式一直是Linux實時研究的一個重要方向。在2005年左右,MontaVista公司在 Linux2.6內核上使用搶占補丁的方式實現了linux的軟實時,使得Linux內核的實時響應性能大為提升。目 前桌面版本的Linux內核大多使用了搶占功能。
        采用搶占補丁的方式比雙內核方式的一個優點在于其編程接口的統一性。在搶占補丁方式中,實時應 用與非實時使用可以使用統一的Linux API接口,他們之間的通信方式仍然采用傳統的進程間通信方式即 可。搶占補丁方式可以實現軟實時,在硬實時方面仍然能力不足。MontaVista公司為了實現硬實時,在搶 占補丁的基礎上使用較為復雜的技術比如將自旋鎖改成互斥量、高精度定時器、中斷線程化等機制,這些 機制的修改涉及到驅動程序已有的運行機理,因此會影響到Linux內核的穩定性,這對于穩定性要求高的 場合,比如無線通信以及電信級應用,并不合適。經過業界測試表明,MontavistaLinux對于硬實時系統 并不合適。
        RTLinux引領的雙內核方式通過中斷虛擬化的方式能夠很好地實現硬實時,雖然其需要為實時任務專門設 計一套編程接口,而且實時任務與非實時任務的通信也要使用的專門通信機制,但由于其硬實時性,在一 些工業控制等實時要求高地領域有重要的應用之地。在雙內核方式中,實時內核接管中斷,而非實時內核 (即Linux)使用一個軟件標志位作為其虛擬中斷,虛擬中斷的方式把中斷控制器完全交給了實時內核, 因而能達到很好地實時響應性能。雙內核方式除了編程接口的不統一之外,也還有其他不足之處,比如實 時內核沒有自己的內存管理功能,在內存的分配仍然依賴于Linux; 實時內核雖然接管了中斷,但中斷的現 場仍然是Linux來保存和恢復的。可以說實時內核和非實時內核是緊密耦合的,這對于系統的維護以及穩 定性非常不利。
        RTLinux在07年被WindRiver收購后,在開源社區就變得不活躍了。不過RTLinux的變種RTAI仍然活躍于 開源社區。RTAI是完全免費,開放的,不受RTLinux專利的限制。RTAI代表“Real-Time Application  Interface”,它必須與Adeos補丁一起工作。Adeos實現了一個硬件抽象層,其重要的功能仍然是中斷 虛擬化,不過它比RTlinux時代的中斷虛擬化功能更加完善。硬件抽象層的存在以及其功能完善,使得實 時內核和非實時內核之間由緊耦合關系變為松耦合關系,這對于系統的穩定性以及代碼維護是非常重要的 。硬件抽象層使得Linux所需的物理資源或者從硬件抽象層獲得,或者直接訪問硬件(針對于Linux專屬設 備),套用虛擬化術語,Linux已作為實時內核的客戶操作系統被調度運行。
        RTAI/ADEOS 將Linux作為客戶操作系統運行于實時內核之上的方式實際上是嵌入式虛擬化的內容。 嵌入式虛擬化(embedded virtualization,又名Hypervisor)是近幾年熱門的研究內容,它是為了彌 補傳統操作系統在實時性、安全性、多核擴展方面的不足而提出的。針對系統實時性的Hypervisor的方案 目前主要有WindRiver hypervisor,OKL4,Lynx OS,Xenomai等。嵌入式虛擬化代表了解決Linux實時問 題的目前為先進的方法,但目前正處于推廣階段,開源的方案也比較少,上述方案中只有Xenomai是開 源的,但Xenomai一般這針對某個芯片平臺提供一個參考的源代碼版本,如果要應用到具體平臺中,還需 要深入的源代碼閱讀才能完成移植工作,這對于一些設備廠商而言,無疑是一較高的門檻。
        針對Xeonmai在平臺支持方面的欠缺,筆者所在團隊用了近2年半時間開發了XtimesLinux,專門針 對ARM平臺,而且針對特定開發板提供板級的實時方案,降低使用門檻,而且代碼完全開放,希望能被工 業控制,信號處理、通信等領域試用,以圖在國外廠商所占據的實時基礎軟件市場中取得立足之地。
        一、XtimesLinux的介紹
        XtimesLinux是面向嵌入式領域的實時基礎軟件環境,它由微內核虛擬機Xtimes和Linux操作系統組成。 Xtimes采用微內核架構,支持實時進程調度,同時將Linux作為一個超級進程進行調度,目的是利用Linux 作為服務進程,提供文件系統、網絡等服務。
        Xtimes為自主設計,在設計時參考業界流行的各種實時微內核結構,同時對其進行擴展,使之能支持操作 系統的虛擬化,能調度操作系統作為一個進程運行。所支持的虛擬化方式為半虛擬化,即要求修改操作系 統的源代碼,對其重新編譯。這種方式在性能上損失更小,更適合嵌入式環境。Xtimes目前版本號為1.0,  現在所能支持的客戶操作系統為Linux,所支持的Linux內核版本為2.4以及2.6.28,2.6.29, 2.6.32內核等 。
        1.1  XtimesLinux的目的
        XtimesLinux定位于嵌入式領域的實時基礎軟件環境,首先它是實時的基礎軟件,通過中斷虛擬化技術, 它可以達到與實時操作系統(Vxworks, uCos等)比擬的實時性要求,以中斷響應時間來衡量,其差的 中斷響應時間小于50μs,可以用于要求硬實時的工業控制、通信等場合。
        其次XtimesLinux能提供豐富的API,涉及到文件系統,網絡等,能滿足復雜的實時應用要求。 XtimesLinux通過調度客戶操作系統Linux作為其服務進程,能夠提供Linux兼容的API,API的Linux兼容性 使得XtimesLinux能夠兼容眾多已有的嵌入式linux應用,并且使應用程序的開發門檻降低。
        1.2   Xtimes與其他虛擬機之比較
        業界比較流行的虛擬化方案有VMware,Xen,Virtual Logic等,VMware屬于全虛擬化方案,能夠運行不經 修改的Guest OS,但其結構復雜,對硬件要求非常高,不適合應用于嵌入式。Xen有半虛擬化方案,Guest  OS經過修改后能運行于Xen之上,但它主要面向PC以及服務器領域,在嵌入式領域尚未推出成熟的產品。
        面向嵌入式領域的虛擬機需要效率高、實時性好、易于移植等特點,Virtual Logic公司推出了應用于嵌 入式領域的虛擬機VLX,VLX的目的是將RTOS與RichOS(比如linux)運行于一個處理器上,以節省成本, 一個典型的應用即是在手機芯片中,將通信協議棧部分運行于RTOS中,而手機應用部分運行于RichOS之中 ,RTOS與RichOS都運行于虛擬機VLX之上,只需要使用一個處理器即可。而在現有的大多數手機芯片中, 通信協議棧部分和手機應用部分一般是運行于不同處理器上的。
        Xtimes與VLX一樣,目的也是在一個處理器上整合RTOS應用與RichOS應用,不過Xtimes并不需要支持RTOS 在其上運行,因為Xtimes本身就是由實時微內核擴展而來的,它可以直接支持實時應用。
        Xtimes是基于實時微內核的虛擬機,在這一點上,它和L4Linux比較相似。L4 是德國德累斯頓理工大學開 發的第二代微內核操作系統,因為其性能比個微內核操作系統有了大幅提高,使其得到了學術界與工 業界的廣泛關注,其中高通公司(QualComm)已經用L4作為基礎來研發通信芯片搭載的操作系統。
        L4在微內核中提供了線程調度以及線程通信機制,而在微內核之上支持Guest OS(Linux)運行,由Guest  OS提供系統服務,這些與Xtimes都是一致的。但有一個根本的區別:在L4中,Guest OS內核(包 括文件系統,網絡,內存管理等)是運行在非特權級別的;而在Xtimes中,Guest OS內核是運行在特權級 別的。Xtimes將Guest OS運行于特權級別的方式有利有弊,好處是Guest OS能更加高效與微內核通信,而 弊端則是Guest OS、以及實時線程可能會相互破壞屬于對方的數據,從而影響系統穩定。這個弊端將在后 續采取一定辦法解決。
        Xtimes雖然作為虛擬機,但是由于它從實時微內核架構演變過來,具備了嵌入式操作系統的某些功能,因 此它跟嵌入式操作系統一樣,也可以作為嵌入式平臺的底層基礎軟件環境,從這一點來看,它與L4Linux 為相似。 因此在下面同類產品的比較中,不局限于Xtimes與其他虛擬機的比較,而將Xtimes與其他嵌 入式操作系統的比較也列入其中.
        二、 Xtimes的架構表格 XtimesLinux與其他基礎軟件平臺的比較
        Xtimes作為虛擬機(VMM)能夠支持操作系統的虛擬化,運行于虛擬機上的操作系統稱為客戶操作系統 (Guest OS)。虛擬機的結構如下圖所示。客戶操作系統作為一個超級進程被VMM調度,同時虛擬機支持 實時線程調度,實時線程可以處理VMM的輸入輸出以及硬件抽象層(HAL)的相關工作。 GuestOS一般作為 優先級的進程,只有當Xtimes中實時線程都運行完畢(阻塞)時,Guest OS才有機會運行。
        三、Xtimes在具體平臺上的移植
        XtimesLinux已經在友善之臂的Mini6410,友堅的utv210平臺(S5PV210主芯片)上移植并成功啟 動了Linux內核,并搭載了busybox文件系統,當然也試驗過成功搭載Android文件系統。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲国产区中文 | 亚洲成A人片在线观看57 | 在线看片免费人成影片 | 中文字幕一二区二三区 | 欧美在线精品亚洲综合网 | 这里精品国产清自在天天线 |