1980年,美國(guó)Ready System公司推出了實(shí)時(shí)操作系統(tǒng)VRTX/OS算起,如今已有30年的歷史,RTOS產(chǎn)品也是繁花似錦。20世紀(jì)80年代,除VRTX外,還有IPI公司的MTOS和ISI公司的PSOS。到了20世紀(jì)90年代后,由于現(xiàn)代操作系統(tǒng)的思想運(yùn)用,誕生了很多如今都在廣泛應(yīng)用的實(shí)時(shí)操作系統(tǒng)(RTOS),如大家熟知的VxWorks、μC/OS、QNX、Lynx、eCOS等。21世紀(jì),由于商業(yè)領(lǐng)域的運(yùn)作和市場(chǎng)的要求,RTOS產(chǎn)品開始兼并整合,一些產(chǎn)品被兼并淘汰,如PSOS被Windriver收購,主要功能特點(diǎn)合并到VxWorks中;另外一些產(chǎn)品則壯大成熟,如商業(yè)上極其成功的VxWorks,和幾乎所有MCU都可以使用的μC/OS-II,現(xiàn)在已經(jīng)發(fā)展到了μC/OS-III。當(dāng)然也出現(xiàn)一些后起之秀,如中國(guó)人自己研發(fā)的Delta OS、RT-thread和開源世界的FreeRTOS。
RTOS大都是以應(yīng)用為主的可定制的操作系統(tǒng)。軟件模塊可被高度的裁剪、定制,以適應(yīng)各種不同的應(yīng)用,不同的硬件條件,同時(shí)在有限的資源下實(shí)現(xiàn)性能的最優(yōu)化。這是傳統(tǒng)的桌面操作系統(tǒng)、服務(wù)器操作系統(tǒng)所不及的。進(jìn)入20世紀(jì)90年代后,RTOS在嵌入式系統(tǒng)設(shè)計(jì)中的主導(dǎo)地位已經(jīng)形成。它的發(fā)展有以下特點(diǎn):
1. 新處理器大量運(yùn)用,要求RTOS易于移植,以便在短時(shí)間內(nèi)支持不同的處理器;消費(fèi)類電子產(chǎn)品對(duì)實(shí)時(shí)性要求并不高,如掌上電腦、手機(jī)、機(jī)頂盒等,但對(duì)軟件的可維護(hù)性、擴(kuò)展性、易用性、交互性有比較高的要求,使得WinCE、Linux和uCLinux等軟實(shí)時(shí)操作系統(tǒng)廣泛地被應(yīng)用到消費(fèi)類電子產(chǎn)品中;
2. 由于電信設(shè)備、控制系統(tǒng)的高可靠性,對(duì)RTOS提出了新的要求,如雙機(jī)熱備份、線程遷移、使用MMU保護(hù)RTOS內(nèi)核等;
3. 芯片制造技術(shù)的提升,多核處理器大量運(yùn)用,要求RTOS支持單芯片多處理器(Chip-Multiprocessor,CMP)、對(duì)稱多處理器(Symmetric Multiprocessor,SMP)、非對(duì)稱多處理器(Asymmetric Multiprocessor,ASMP);
4. 系統(tǒng)級(jí)別的應(yīng)用越來越多,要求系統(tǒng)支持各種各樣的協(xié)議棧、文件系統(tǒng)、Web服務(wù)器、數(shù)據(jù)庫、圖形界面,甚至支持Java虛擬機(jī)和腳本語言;
5. 開放源碼已經(jīng)成為大勢(shì)所趨,一些商業(yè)老牌的RTOS已經(jīng)向授權(quán)客戶開發(fā)源碼,如VxWorks、QNX等。
6. RTOS一般都有一套自己的集成開發(fā)環(huán)境,便于操作系統(tǒng)在實(shí)際應(yīng)用中的定制和應(yīng)用開發(fā)工作,也有采用GNU工具鏈或第三方工具鏈的RTOS產(chǎn)品,但工具鏈大都也經(jīng)過整合加工,變得更加易用。
嵌入式開發(fā)不同于PC平臺(tái)的開發(fā),它首先面臨著軟件與硬件同時(shí)成熟的風(fēng)險(xiǎn)。同時(shí)市場(chǎng)的迫切需求,使得嵌入式產(chǎn)品的開發(fā)周期越來越短。雖然新開發(fā)方法、新工具的應(yīng)用提高了開發(fā)效率,對(duì)開發(fā)人員來說,產(chǎn)品成熟的壓力和風(fēng)險(xiǎn)依然絲毫未減;再次它面臨著硬件資源、系統(tǒng)性能、產(chǎn)品成本的平衡問題,市場(chǎng)的競(jìng)爭(zhēng)使得嵌入式系統(tǒng)追求最佳的性價(jià)比,這更增加了系統(tǒng)設(shè)計(jì)的難度;最后由于摩爾定律的支配,高性能MCU價(jià)格降低并廣泛使用,使得前后臺(tái)系統(tǒng)不再風(fēng)光一時(shí),系統(tǒng)的可維護(hù)性、伸縮性、可移植性等問題越來越突出。要很好地解決這些問題,不得不求助操作系統(tǒng)或一些成熟的中間件。
嵌入式系統(tǒng)級(jí)的應(yīng)用使得開發(fā)方面與PC平臺(tái)差距越來越小,應(yīng)用層開發(fā)和調(diào)試難度也逐漸減小。但同時(shí)系統(tǒng)級(jí)別的應(yīng)用必然需要犧牲一些效率;同時(shí),操作系統(tǒng)和中間件不可能覆蓋所有的硬件,這就要求驅(qū)動(dòng)底層人員不僅熟悉具體的硬件,還要了解操作系統(tǒng)或中間件的工作機(jī)制,對(duì)底層開發(fā)人員要求變高。
中國(guó)正在如火如荼的進(jìn)行一場(chǎng)空前的系統(tǒng)化工程——物聯(lián)網(wǎng)(The Internet of things)。顧名思義,物聯(lián)網(wǎng)就是“物物相連的互聯(lián)網(wǎng)”。有兩層意思:第一,物聯(lián)網(wǎng)的核心和基礎(chǔ)仍然是互聯(lián)網(wǎng),是在互聯(lián)網(wǎng)基礎(chǔ)上的延伸和擴(kuò)展的網(wǎng)絡(luò);第二,其用戶端延伸和擴(kuò)展到了任何物體與物體之間,進(jìn)行信息交換和通信。從而實(shí)現(xiàn)比傳統(tǒng)的互聯(lián)網(wǎng)本身更廣泛的價(jià)值。和傳統(tǒng)的互聯(lián)網(wǎng)相比,物聯(lián)網(wǎng)有鮮明的特征:
1. 它是各種感知技術(shù)的廣泛應(yīng)用。物聯(lián)網(wǎng)上部署了海量的多種類型傳感器,每個(gè)傳感器都是一個(gè)信息源,不同類別的傳感器所捕獲的信息內(nèi)容和信息格式不同。傳感器獲得的數(shù)據(jù)具有實(shí)時(shí)性,按一定頻率周期性地采集環(huán)境信息,不斷更新數(shù)據(jù);
2. 它是一種建立在互聯(lián)網(wǎng)上的網(wǎng)絡(luò)。物聯(lián)網(wǎng)技術(shù)的重要基礎(chǔ)和核心仍舊是互聯(lián)網(wǎng),通過各種有線和無線網(wǎng)絡(luò)與互聯(lián)網(wǎng)融合,將物體的信息實(shí)時(shí)準(zhǔn)確地傳遞出去。在物聯(lián)網(wǎng)上,傳感器定時(shí)采集的數(shù)據(jù)信息需要通過網(wǎng)絡(luò)傳輸。由于其數(shù)量極其龐大,形成了海量信息。在傳輸過程中,為了保障數(shù)據(jù)的正確性、可靠性和實(shí)時(shí)性,必須適應(yīng)各種異構(gòu)網(wǎng)絡(luò)和協(xié)議;
3. 物聯(lián)網(wǎng)不僅僅提供了傳感器的連接,其本身也具有智能處理的能力,能夠?qū)ξ矬w實(shí)施智能控制。物聯(lián)網(wǎng)將傳感器和智能處理相結(jié)合,利用云計(jì)算、模式識(shí)別等各種智能技術(shù),擴(kuò)充其應(yīng)用領(lǐng)域。從傳感器獲得的海量信息中分析、加工和處理出有意義的數(shù)據(jù),以適應(yīng)不同用戶的不同需求。
物聯(lián)網(wǎng)可以分為三層架構(gòu):感知層、網(wǎng)絡(luò)層和應(yīng)用層。不難看出,物聯(lián)網(wǎng)實(shí)必須需要嵌入式系統(tǒng)的支撐;物聯(lián)網(wǎng)需要實(shí)現(xiàn)各種各樣的系統(tǒng)級(jí)應(yīng)用,并對(duì)系統(tǒng)的實(shí)時(shí)性有一定的要求;物聯(lián)網(wǎng)的感知層和物聯(lián)網(wǎng)是一個(gè)比傳統(tǒng)互聯(lián)網(wǎng)更加龐大更加復(fù)雜的分布式系統(tǒng)。這些要求被轉(zhuǎn)化為對(duì)RTOS的要求,推動(dòng)促進(jìn)其發(fā)展。
RTOS 的發(fā)展方向主要集中在三個(gè)方面。首先是RTOS的標(biāo)準(zhǔn)化研究。如今國(guó)內(nèi)外的RTOS開發(fā)商數(shù)不勝數(shù),提供了上百個(gè)RTOS,它們各具特色。這也給應(yīng)用開發(fā)者帶來難題,當(dāng)選擇不同的RTOS開發(fā)時(shí),代碼不能復(fù)用,用戶的軟件投資付之東流。RTOS的標(biāo)準(zhǔn)化研究越來越被重視,如IEEE協(xié)會(huì)在UNIX的基礎(chǔ)上,制定了可移植操作系統(tǒng)接口標(biāo)準(zhǔn) POSIX 1003.1b,用于規(guī)范實(shí)時(shí)系統(tǒng)接口;日本開發(fā)的ITRON標(biāo)準(zhǔn)等。新的應(yīng)用層出不窮,軟件接口仍然需要不斷地完善,與時(shí)俱進(jìn)。
其次是多處理器結(jié)構(gòu)RTOS、分布式實(shí)時(shí)操作系統(tǒng)和實(shí)時(shí)網(wǎng)絡(luò)的研究。實(shí)時(shí)應(yīng)用的飛速發(fā)展,對(duì)RTOS的性能提出了更高的要求。單處理器的嵌入式系統(tǒng)已不能很好地滿足某些復(fù)雜實(shí)時(shí)應(yīng)用系統(tǒng)的需要,開發(fā)支持多處理器結(jié)構(gòu)的RTOS已成為發(fā)展方向。至于分布式RTOS,如QNX、VxWorks、RTEMS、eCos等都提供相關(guān)的功能。但分布式實(shí)時(shí)操作系統(tǒng)的研究還未完全成熟,特別是在網(wǎng)絡(luò)實(shí)時(shí)性和多處理器間任務(wù)調(diào)度算法上還需進(jìn)一步地研究。
最后是集成化的RTOS開發(fā)環(huán)境的研究。開發(fā)實(shí)時(shí)應(yīng)用系統(tǒng),只有RTOS是不夠的,還需要集編輯、編譯、調(diào)試、模擬和仿真等功能為一體的集成開發(fā)環(huán)境的支持。開發(fā)環(huán)境的研究還包括網(wǎng)絡(luò)上多主機(jī)協(xié)作開發(fā)、分布式RTOS的調(diào)試等技術(shù)。很多開源RTOS在性能方面是超越商業(yè)RTOS,但是在工具鏈方面與商業(yè)RTOS還有著不小的差距。如RTEMS使用GNU的工具鏈,調(diào)試使用GDB;而VxWorks的工具鏈不僅提供圖形化調(diào)試界面,還提為用戶提供系統(tǒng)運(yùn)行時(shí)的一些狀態(tài)信息。雖然GNU提供了GDB的圖形化前端DDD以及insight,但兩者差距還是不小。
聯(lián)系客服