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