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

      實時操作系統的選擇:你還在用Linux嗎?

      更新時間: 2007-02-01 16:24:17來源: 粵嵌教育瀏覽量:1163

        這篇文章的靈感來自我去年分析員考試的一片論文。以此文獻給我的網友ChangZhou雖然我現在還有很多項目進行在Linux平臺上面,但是我認為,對于嵌入式設備,Linux在大多數情況下并不是。同時,我也不認為在國內用得沸沸洋洋的uCOSII是好的選擇。

        筆者應該可以算作國內批玩Linux的IT人,早在Linux上做開發的時候,電腦市場的高端配置還是486。隨著項目經驗的增加,我深深的感到,在國內,對Linux還有很多誤解,尤其是嵌入式開發上面,Linux往往不但不是的選擇,在很多時候甚至是下策。

        除了Linux,你還有很多選擇:

        
      現在流行的操作系統五花八門,下面我來分們別類的說說:

        隨著IC業的發展,出現了越來越多的價格低廉、結構小巧的CPU和外設。限制嵌入式系統發展的瓶頸就突出表現在了軟件方面。盡管從八十年代末開始,陸續出現了一些嵌入式操作系統,比較的有Vxwork、pSOS(已被收購)、QNX、Neculeus、Windows CE、PALM、SmartPhone等。但這些專用操作系統都是商業化產品,其高昂的價格使許多低端產品的小公司望而卻步;而且,源代碼封閉性也大大限制了開發者的積極性。

        另一個方面,這些商用的操作系統往往有非常完善的技術支持和豐富的軟件包,以WinCE為例,他的PlatForm Bulider安裝光盤有7張,容納了大量的應用框架,用戶只需要做很少的改動就能生成一個應用程序。工作強度和普通PC機上開發沒有太大的區別。

        目前,以Linux為首的開源嵌入式系統發展勢頭強勁,比較有代表的有Linux(包括uClinux,RtLinux等),RTEMS,eCos,uCOSII等。國內的用戶大多使用Linux和uCOSII。但是我認為各種系統有自己存在的理由,我從事的大多數項目中,向客戶推薦的不是Linux和uCOSII,而是RTEMS和eCos。理由很簡單,Linux過為復雜,速度慢,實時性差;而uCOSII又過于簡單。

        Linux本來就不是為嵌入式系統設計的,現在Linux2.6的kernel source壓縮包大小更是有30多兆。Linux源代碼解析那種大部頭的書又有多少人從頭到尾看過。這導致很多問題無法解決。以前,某客戶要求使用Linux給他們做底端路由器,我們使用了一套比較成熟的ARM+uClinux系統,結果,該系統會不定期的死機,調試了很久也沒有結果。過了幾個月,發現是uCLinux的一個bug。期間,該客戶由于系統不夠穩定,錯過了幾個大單。此后,另外一個Linux的系統,用于VoIP網關,結果,運行速度非常慢,資源消耗也很大。幾乎沒有辦法達到設計要求。后來,改用eCos,不但能達到編解碼速度要求,而且無論是對內存還是對Flash,占用都大為減少。這樣的項目舉不勝舉,后來總結出一條經驗,Linux用來做Demo版本,商業版本用其他RTOS。

        實際上,這樣的例子還很多,現在,很多嵌入式系統設計服務提供商動不動就是Linux,好像將Linux和嵌入式系統劃上了等號。為什么? 無非是因為下面的原因:

      1. 操作系統源代碼開放
      2. 網上資源豐富,很可能可以找到開放源碼的整套環境,可以大大縮短開發周期
      3. 編程接口方便,熟悉,跟臺上機上開發幾乎沒有什么區別
      4. 上層應用豐富,而且也開放源碼
      5. 低層接口統一
      6. TCP/IP等協議自帶

        但是我認為這是站不住腳的。我們一個一個來看Linux的所謂優勢:

        1. “開放源碼”很多嵌入式系統都是開放源碼的如:eCos,RTEMS,NetBSD等等。這些系統都比Linux簡單易懂。此外值得提出的是。Linux是GPL協議的,也就是說,你對Linux的任何修改,都必須公開。而NetBSD等系統就不是,他們是遵循更為開放的BSD協議,你對系統的任何修改,都有權保密。這對于商用系統來說,是非常重要的。

        2. “網上資源豐富” 這個……我只能說其他系統應用資源也很豐富。但是總體上,Linux資源比其他系統豐富,主要體現在桌面系統上,在嵌入式領域的應用軟件,Linux并沒有明顯的優勢。

        3. “編程接口方便,熟悉,跟臺上機上開發幾乎沒有什么區別”編程接口上來說eCos,RTEMS和NetBSD都提供POSIX的API,這意味這,在Linux上面的代碼,幾乎不用做修改就可以移植到上面的系統中。

        4. “上層應用豐富,而且也開放源碼”嵌入式系統大多是用于專業用途的,很多上層應用比如GNOM,在嵌入式領域,并沒有太大用途

        5. “低層接口統一。TCP/IP自帶” 一方面,Linux底層十分復雜,其接口也非常復雜,這導致給Linux制作驅動需要大量的時間(當然,也有不少驅動是現成的),同時復雜的層次結構導致驅動的效率底下。

        6. “TCP/IP等協議自帶”幾乎所有的嵌入式系統都提供TCP/IP,這個不是Linux的專利。

        不用uCOSII也很簡單,他不是想大多數人想的那樣是免費的,他的免費只表現在他的教育版本。如果你用uCOSII作出了東西要出口到歐盟,很可能被kaka。而且uCOSII免費的地方也很少,需要TCP/IP?掏錢,需要文件支持?掏錢......這導致uCOSII的免費版本只能算作一個玩具。

        真正好的嵌入式系統應該滿足1-6,此外還應有下面幾點,注意,這些一直都是Linux沒有完全做到的

        1 實時性支持
        2 資源占用小
        3 支持低功耗
        ……

        總之,Linux只適合高端嵌入式系統中(如商用路由器等),如果CPU< 100MIPS, 還是不用Linux為妙。

      免費預約試聽課

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

      
      

      1. 中日韩免费一区二区三区 | 亚洲电影天堂在线对白 | 久久精品色婷婷国产福利 | 中文亚洲成a人片在线观看 亚洲国产精品久久三级视频 | 日韩欧美亚洲一区精品 | 久久se精品一区精品二区 |