由于嵌入式處理器早期功能單一且運算能力不高,嵌入式應(yīng)用已不能滿足各個領(lǐng)域不斷增長的需求。嵌入式操作系統(tǒng)應(yīng)運而生,嵌入式操作系統(tǒng)可以支持新時代復(fù)雜、多任務(wù)環(huán)境和功能的嵌入式應(yīng)用程序。嵌入式操作系統(tǒng)使得程序的可移植性得到了增強(qiáng),系統(tǒng)開發(fā)的工作量減輕的同時也提高了開發(fā)效率。對實時性和可靠性日益增長的要求正在塑造某些現(xiàn)代領(lǐng)域的嵌入式實時操作系統(tǒng)的發(fā)展方向,例如航空航天、工業(yè)控制、汽車電子、能源電力和醫(yī)療等領(lǐng)域。嵌入式實時操作系統(tǒng)(RTOS)構(gòu)造簡單、功能齊全、便于使用,特別適合各類應(yīng)用場景,因此它在軟件應(yīng)用程序開發(fā)中發(fā)揮著重要的作用,使嵌入式系統(tǒng)的開發(fā)更加高效。
一、嵌入式實時操作系統(tǒng)(RTOS)
1.1 嵌入式實時操作系統(tǒng)的特點
實時操作系統(tǒng)響應(yīng)快速,能準(zhǔn)確高效地執(zhí)行控制指令并按預(yù)期做出響應(yīng)。嵌入式實時操作系統(tǒng)旨在為實時應(yīng)用程序提供服務(wù),應(yīng)用程序處理傳入的數(shù)據(jù),大多數(shù)情況下沒有緩沖延遲,具有實時性的優(yōu)點,這是設(shè)計者和用戶考慮的一個重要指標(biāo)。
實時操作系統(tǒng)有硬實時和軟實時之分,軟實時系統(tǒng)與人的反應(yīng)速度相當(dāng),能在幾百毫秒內(nèi)做出反應(yīng),而硬實時系統(tǒng)則可在幾十毫秒內(nèi)做出響應(yīng)甚至更短時間。
但 RTOS 缺點在于:一般不存在圖形界面,缺少如網(wǎng)絡(luò)瀏覽器的功能,為快速響應(yīng)中斷信號需提供特定的驅(qū)動程序;具有較低優(yōu)先級的任務(wù)需要等待很長時間。
1.2 實時操作系統(tǒng)與通用操作系統(tǒng)
用于運行筆記本電腦的通用操作系統(tǒng)(例如Windows)包含豐富的應(yīng)用程序和功能,能夠滿足動態(tài)變化的用戶需求。但它無法滿足小尺寸嵌入式系統(tǒng)所需的精確要求、極低延遲、持久的正常運行時間和無需干預(yù)的性能,因此需要實時操作系統(tǒng)的支撐。相比于較大的通用操作系統(tǒng),實時操作系統(tǒng)反應(yīng)速度更快,占用空間更少。
開源通用操作系統(tǒng)(GPOS)以豐富功能和靈活性而聞名,通常在非關(guān)鍵系統(tǒng)上使用,具有時間靈活性。而在機(jī)器人和飛行控制器等安全關(guān)鍵系統(tǒng)上,通常選擇實時操作系統(tǒng)進(jìn)行開發(fā),這是成功的關(guān)鍵因素。與此同時,RTOS 也存在一些不足:資源消耗大,使得系統(tǒng)昂貴;算法復(fù)雜很難理解,因此,在選擇 RTOS 時,不僅需要使用內(nèi)部實時操作系統(tǒng),開源或基于社區(qū)的操作系統(tǒng)也不可或缺。
1.3 嵌入式實時操作系統(tǒng)調(diào)度算法
調(diào)度是一種確保作業(yè)在特定時間執(zhí)行的方法,是指將可用 CPU 資源分配給進(jìn)程的過程。對于實時系統(tǒng)而言,調(diào)度策略在任何實時系統(tǒng)中都至關(guān)重要,其中關(guān)鍵因素是調(diào)度算法。因此,實時系統(tǒng)研究的一個重要領(lǐng)域在于如何采用適當(dāng)?shù)乃惴▉泶_保每個任務(wù)都能在其時間限制內(nèi)完成。
μC/OS-II 調(diào)度算法,主要采用基于事件觸發(fā)的優(yōu)先級的搶占式調(diào)度,其特征是系統(tǒng)為每個任務(wù)分配優(yōu)先級,一旦具有最高優(yōu)先級的任務(wù)準(zhǔn)備就緒,它就可以獲得 CPU 的控制?;?μC/OS-II 實時操作系統(tǒng)內(nèi)核,提出了一種基于動態(tài)優(yōu)先級的時間觸發(fā)調(diào)度算法,以支持多處理機(jī)多任務(wù),并設(shè)計相應(yīng)函數(shù)來實現(xiàn)動態(tài)優(yōu)先級調(diào)整,可以滿足任務(wù)在實時系統(tǒng)中動態(tài)變化的需求。該算法避免了優(yōu)先級反轉(zhuǎn),保證了實時性,即解決“同級優(yōu)先級”任務(wù)調(diào)度問題,又有效提高了任務(wù)調(diào)度的效率。
最后,通過分析動態(tài)優(yōu)先級調(diào)度算法性能,可看出在處理器使用率相同的情況下,使用改進(jìn)的動態(tài)優(yōu)先級調(diào)度算法的歸一化實時響應(yīng)時間更快。當(dāng)然,該算法在投入機(jī)載計算平臺之前,還需要做大量的實驗去驗證算法的其他性能,對平臺做進(jìn)一步完善。
二、嵌入式實時操作系統(tǒng)的應(yīng)用
從智能家居到交通管理,從工業(yè)控制到軍用,全世界無數(shù)產(chǎn)品都配備了實時操作系統(tǒng)。在很大程度上,RTOS 行業(yè)受到計算機(jī)硬件行業(yè)發(fā)展的影響,產(chǎn)生了一系列的應(yīng)用案例,對操作系統(tǒng)要求也更高。
智能家居系統(tǒng)
交通管理
工業(yè)控制
上述實時操作系統(tǒng)是針對特定用例設(shè)計的,其缺點是成本高且耗時。定制操作系統(tǒng)將不可避免地耗費大量時間,在硬件上的投入大量資金而且性能得不到保證。如果開源系統(tǒng)的實施過程出現(xiàn)問題,也可能導(dǎo)致工期緊張甚至超支。相比之下,商用系統(tǒng)易于使用、快速,技術(shù)團(tuán)隊專業(yè)且經(jīng)驗豐富。
三、國外嵌入式實時操作系統(tǒng)
3.1 VxWorks
VxWorks 憑借良好的可靠性和實時性被廣泛地應(yīng)用在各種高精尖技術(shù)行業(yè)中,如衛(wèi)星通訊、軍事演習(xí)等。VxWorks 最大的缺點是價格昂貴,軟件的開發(fā)和維護(hù)成本都非常高,一般只提供二進(jìn)制代碼,源代碼是不提供的,支持的硬件數(shù)量有限。
3.2 Linux
Linux 開源操作系統(tǒng)使用免費、可自由修改,它的功能強(qiáng)大、設(shè)計完善,為運行不同計算機(jī)平臺提供了準(zhǔn)確有效的通信手段,在價格上極具競爭力,目前最為流行。Linux 的弊端在于提供實時性能需添加實時軟件模塊來實現(xiàn)調(diào)度策略、硬件中斷異常和程序執(zhí)行。因此,代碼錯誤可能破壞操作系統(tǒng)從而影響整個系統(tǒng)的可靠性。
3.3 Windows CE
Windows CE(Wince)相對簡易開發(fā),周期短且內(nèi)核完善,可靈活支持通信,GUI豐富且開發(fā)功能完善,能更大程度地控制調(diào)度機(jī)制。但 Wince的版權(quán)費用也不可避免存在價格不菲的缺點,沒有考慮實時應(yīng)用,很難支持多種硬件平臺,無法做到可定制性,且對資源的要求更高,在網(wǎng)絡(luò)功能方面應(yīng)用很少。
四、國內(nèi)嵌入式實時操作系統(tǒng)
隨著物聯(lián)網(wǎng)的快速發(fā)展,國產(chǎn)設(shè)備自主可控需求強(qiáng)烈,國產(chǎn)嵌入式實時操作系統(tǒng)發(fā)展也逐漸步入軌道。鴻道(Intewell)操作系統(tǒng)是一款以微內(nèi)核為基礎(chǔ)、功能靈活、易擴(kuò)展、高安全、高可靠的實時操作系統(tǒng)。
科東軟件自主研發(fā)的鴻道(Intewell)工業(yè)操作系統(tǒng),擁有三十多年的研發(fā)歷史以及應(yīng)用經(jīng)驗,具備微內(nèi)核,高實時,虛擬化等諸多特點,可以實現(xiàn)工業(yè)控制底層通用化以及人工智能與控制一體化。為企業(yè)客戶提供國產(chǎn)化行業(yè)解決方案,目前已成功應(yīng)用于高端數(shù)控系統(tǒng)、工業(yè)機(jī)器人、醫(yī)療機(jī)器人、運動控制系統(tǒng)、軌道列車控制系統(tǒng)、配電自動化、汽車控制域等業(yè)務(wù)場景。
RT-Thread 是一款組件豐富、易擴(kuò)展、低功耗、安全性高的國產(chǎn)開源的嵌入式實時操作系統(tǒng)。RT-Thread 內(nèi)核對象與對象容器分配的鏈表相鏈接。
RT-Thread 不依賴于特定的內(nèi)存分配方式,通過對象容器中內(nèi)核對象動態(tài)與靜態(tài)相結(jié)合的方法,極大提高了系統(tǒng)的靈活性。它憑借穩(wěn)定豐富的系統(tǒng)功能,在新能源、航空和醫(yī)療等領(lǐng)域被廣泛應(yīng)用,其高度可靠的實時性得到了證實。
翼輝信息的 SylixOS 自主實時操作系統(tǒng),在實時性方面做了很多有益的設(shè)計。SylixOS 的應(yīng)用程序動態(tài)裝載功能使業(yè)務(wù)邏輯與系統(tǒng)平臺分離開發(fā)、獨立升級,僅需更新相關(guān)的組件即可變更相關(guān)算法、增減應(yīng)用功能等,這利于項目更加便捷、高效的開發(fā)與維護(hù)。
SylixOS 的實時處理及動態(tài)加載機(jī)制,支持在操作系統(tǒng)上集成各部門應(yīng)用軟件,滿足了分布式軟件開發(fā)需求??傊?,SylixOS 能成為國內(nèi)實時操作系統(tǒng)的最優(yōu)秀代表之一,并在具體性能上達(dá)到或超過了眾多實時操作系統(tǒng)的水平,是因為在設(shè)計思路上借鑒了眾多實時操作系統(tǒng)的設(shè)計思想。
五、嵌入式實時操作系統(tǒng)的發(fā)展前景
隨著 RTOS 的廣泛應(yīng)用,其功能與需求種類也日益多樣化,其結(jié)構(gòu)形式與開發(fā)也日益復(fù)雜。實時操作系統(tǒng)必須響應(yīng)創(chuàng)新,采用最先進(jìn)的開發(fā)技術(shù),適應(yīng)新一代嵌入式系統(tǒng)開發(fā)人員采用的框架、語言和方法,并提供信息和功能的安全性、高性能和可靠性。因此,操作系統(tǒng)支持生活化、系統(tǒng)化、網(wǎng)絡(luò)化、精細(xì)化開發(fā)環(huán)境。
(1)生活化:應(yīng)用嵌入式實時操作系統(tǒng)的設(shè)備、家電與工具已經(jīng)進(jìn)入了千家萬戶的生活之中。它能滿足大家在信息、通訊、出行和娛樂等方面的需求,使得人們的工作和生活質(zhì)量有效提高。
(2)系統(tǒng)化:為更好地滿足實時操作系統(tǒng)的開發(fā)需求,其開發(fā)工具將不斷向著系統(tǒng)化方向發(fā)展。隨著嵌人式設(shè)備的普及,不可避免地會出現(xiàn)全局處理需求,例如對各種嵌入式設(shè)備的數(shù)據(jù)進(jìn)行全面整理,甚至綜合分析和統(tǒng)籌處理。
(3)網(wǎng)絡(luò)化:網(wǎng)絡(luò)化發(fā)展將進(jìn)一步推動嵌入式實時操作系統(tǒng)與互聯(lián)網(wǎng)技術(shù)的深層次耦合。它更加可以讓互聯(lián)網(wǎng)技術(shù)在生活和工作中幫助人們快速、高效地完成很多事情,解決人們遇到的困難,所以現(xiàn)在人們對它的依賴很大同時要求很高。
(4)精細(xì)化:基于用戶需求的嵌人式系統(tǒng)的本質(zhì)特點,決定它必然會朝著功能細(xì)分和專業(yè)化方向發(fā)展,這也取決于各個領(lǐng)域的科學(xué)發(fā)展。實現(xiàn)將嵌入式實時操作系統(tǒng)的更多功能集成在更小的芯片上,從而降低生產(chǎn)成本。
盡管嵌入式實時操作系統(tǒng)在中國開發(fā)起步較晚,中小科研機(jī)構(gòu)和廠商一直面臨資金的短缺和研究經(jīng)費不足的難題。還長時間受制于國外技術(shù)壟斷,存在 RTOS 版稅和服務(wù)費用昂貴的情況,大幅增加了嵌入式生產(chǎn)成本,從而使得產(chǎn)品市場和競爭力受到限制。但隨著我國信息科技的快速發(fā)展和系統(tǒng)設(shè)計水平的穩(wěn)步提高,RTOS 在不斷發(fā)展進(jìn)步,功能也日益強(qiáng)大,使得市場上的 RTOS 產(chǎn)品也日趨成熟。
六、結(jié)語
只有開發(fā)出具有自主版權(quán)的系統(tǒng),才能擺脫對國外嵌入式實時操作系統(tǒng)產(chǎn)品的依賴。Linux 開放的源代碼,技術(shù)支持廣泛與價格優(yōu)勢這一系列特征,有利于國產(chǎn)的嵌入式操作系統(tǒng)的開發(fā)。因此,我國本土操作系統(tǒng)仍有機(jī)會占領(lǐng)更多的市場份額與之抗衡。
事實上,要獨立設(shè)計一個實時操作系統(tǒng)非常復(fù)雜,從現(xiàn)有的系統(tǒng)運行角度來講,整個系統(tǒng)處理功能會受到軟件與硬件的制約,是基于網(wǎng)絡(luò)需求實現(xiàn)的。因此,要利用好信息化的網(wǎng)絡(luò)優(yōu)勢,將系統(tǒng)本身所具備定向性功能進(jìn)行逐步分解與更新,在保證系統(tǒng)關(guān)聯(lián)運行功能前提下進(jìn)行獨立化操作;同時充分利用現(xiàn)有開源代碼,實現(xiàn)對基礎(chǔ)功能的擴(kuò)展升級,從而開發(fā)出自主版權(quán)的嵌入式實時操作系統(tǒng)產(chǎn)品。