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