摘要:嵌入式操作系統(tǒng)是嵌入式系統(tǒng)應用的核心。本文通過對兩種典型的開源嵌入式操作系統(tǒng)的對比,分析和總結了嵌入式操作系統(tǒng)應用中的若干問題,歸納了嵌入式操作系統(tǒng)的選型依據(jù)。關鍵詞:嵌入式;操作系統(tǒng);mC/OS;mClinux引言隨著現(xiàn)代計算機技術的飛速發(fā)展和互聯(lián)網(wǎng)技術的廣泛應用,從PC時代過渡到了以個人數(shù)字助理、手持個人電腦和信息家電為代表的3C(計算機、通信、消費電子)一體的后PC時代。后PC時代里,嵌入式系統(tǒng)扮演了越來越重要的角
摘 要: 嵌入式操作系統(tǒng)是嵌入式系統(tǒng)應用的核心。本文通過對兩種典型的開源嵌入式操作系統(tǒng)的對比,分析和總結了嵌入式操作系統(tǒng)應用中的若干問題,歸納了嵌入式操作系統(tǒng)的選型依據(jù)。
關鍵詞: 嵌入式;操作系統(tǒng);
mC/OS;mClinux
引言
隨著現(xiàn)代計算機技術的飛速發(fā)展和互聯(lián)網(wǎng)技術的廣泛應用,從PC時代過渡到了以個人數(shù)字助理、手持個人電腦和信息家電為代表的3C(計算機、通信、消費
電子)一體的后PC時代。后PC時代里,嵌入式系統(tǒng)扮演了越來越重要的角色,被廣泛應用于信息電器、移動計算機設備、網(wǎng)絡設備和工控仿真等領域。嵌入式系統(tǒng)的開發(fā)也成為近年IT行業(yè)的技術熱點。
完成簡單功能的嵌入式系統(tǒng)一般不需要操作系統(tǒng),如以前許多MCS51
系列單片機組成的小系統(tǒng)就只是利用軟件實現(xiàn)簡單的控制環(huán)路。但是隨著所謂后PC時代的來臨,嵌入式系統(tǒng)設計日趨復雜,嵌入式操作系統(tǒng)就必不可少了。
一般而言,嵌入式操作系統(tǒng)不同于一般意義的計算機操作系統(tǒng),它有占用空間小、執(zhí)行效率高、方便進行個性化定制和軟件要求固化存儲等特點。
從八十年代起,國際上就有一些IT組織、公司,開始進行商用嵌入式系統(tǒng)和專用操作系統(tǒng)的研發(fā)。這其中涌現(xiàn)了一些著名的嵌入式系統(tǒng),如Microsoft公司的WinCE和WindRiverSystem公司的VxWorks就分別是非實時和實時嵌入式操作系統(tǒng)的代表。但是商用產(chǎn)品的造價都十分昂貴,用于一般用途會提高產(chǎn)品成本從而失去競爭力。
mC/OS和uClinux操作系統(tǒng)是兩種性能優(yōu)良源碼公開且被廣泛應用的的免費嵌入式操作系統(tǒng),可以作為研究實時操作系統(tǒng)和非實時操作系統(tǒng)的典范。本文通過對mC/OS和mClinux的對比,分析和總結了嵌入式操作系統(tǒng)應用中的若干重要問題,歸納了嵌入式系統(tǒng)開發(fā)中操作系統(tǒng)的選型依據(jù)。
兩種開源嵌入式操作系統(tǒng)介紹
mC/OS和mClinux操作系統(tǒng),是當前得到廣泛應用的兩種免費且公開源碼的嵌入式操作系統(tǒng)。mC/OS適合小型控制系統(tǒng),具有執(zhí)行效率高、占用空間小、實時性能優(yōu)良和可擴展性強等特點,最小內(nèi)核可編譯至2k。mClinux則是繼承標準Linux的優(yōu)良特性,針對嵌入式處理器的特點設計的一種操作系統(tǒng),具有內(nèi)嵌網(wǎng)絡協(xié)議、支持
多種文件系統(tǒng),開發(fā)者可利用標準Linux先驗知識等優(yōu)勢。其編譯后目標文件可控制在幾百K量級。
mC/OS是一種免費公開源代碼、結構小巧、具有可剝奪實時內(nèi)核的實時操作系統(tǒng)。其內(nèi)核提供任務調(diào)度與管理、時間管理、任務間同步與通信、
內(nèi)存管理和中斷服務等功能。
mClinux是一種優(yōu)秀的嵌入式Linux版本。mClinux是Micro-Conrol-Linux的縮寫。同標準Linux相比,它集成了標準Linux操作系統(tǒng)的穩(wěn)定性、強大網(wǎng)絡功能和出色的文件系統(tǒng)等主要優(yōu)點。但是由于沒有
MMU(內(nèi)存管理單元),其多任務的實現(xiàn)需要一定技巧。
兩種嵌入式操作系統(tǒng)主要性能比較
嵌入式操作系統(tǒng)是嵌入式系統(tǒng)軟硬件資源的控制中心,它以盡量合理的有效方法組織多個用戶共享嵌入式系統(tǒng)的各種資源。其中用戶指的是系統(tǒng)程序之上的所有軟件。所謂合理有效的方法,指的就是操作系統(tǒng)如何協(xié)調(diào)并充分利用硬件資源來實現(xiàn)多任務。復雜的操作系統(tǒng)都支持文件系統(tǒng),方便組織文件并易于對其規(guī)范化操作。
嵌入式操作系統(tǒng)還有一個特點就是針對不同的平臺,系統(tǒng)不是直接可用的,一般需要經(jīng)過針對專門平臺的移植操作系統(tǒng)才能正常工作。
進程調(diào)度、文件系統(tǒng)支持和系統(tǒng)移植是在嵌入式操作系統(tǒng)實際應用中最常見的問題,下文就從這幾個角度入手對mC/OS和mClinux進行分析比較。
進程調(diào)度
任務調(diào)度主要是協(xié)調(diào)任務對計算機系統(tǒng)內(nèi)資源(如內(nèi)存、I/O設備、
CPU)的爭奪使用。進程調(diào)度又稱為CPU調(diào)度,其根本任務是按照某種原則為處于就緒狀態(tài)的