提到操作系統(tǒng),除了我們熟悉的桌面操作系統(tǒng)、服務(wù)器操作系統(tǒng)和嵌入式操作系統(tǒng),還有一個(gè)非常重要的分支,就是“實(shí)時(shí)操作系統(tǒng)”,在對(duì)系統(tǒng)穩(wěn)定性和實(shí)時(shí)性要求高的領(lǐng)域,比如軍事、工業(yè)、汽車等,發(fā)揮著核心作用。
因?yàn)槭枪I(yè)、軍工等領(lǐng)域,所以對(duì)于普通用戶距離有點(diǎn)兒遠(yuǎn)。之前我們工業(yè)相關(guān)領(lǐng)域,甚至軍工行業(yè),用的實(shí)時(shí)操作系統(tǒng)主要是國(guó)外產(chǎn)品,以風(fēng)河公司的VxWorks為代表。
注:2022年,汽車Tier1巨頭安波福(Aptiv)以43億美元收購(gòu)風(fēng)河公司(Wind River),在“軟件定義一切”的大背景下,引起了業(yè)界廣泛關(guān)注。
有實(shí)時(shí)操作系統(tǒng),就有非實(shí)時(shí)操作系統(tǒng)。
兩類操作系統(tǒng)的主要區(qū)別在于任務(wù)調(diào)度處理方式不同,非實(shí)時(shí)操作系統(tǒng)采用的是基于時(shí)間片的任務(wù)調(diào)度方式,而實(shí)時(shí)操作系統(tǒng)采用的是基于任務(wù)優(yōu)先級(jí)的任務(wù)調(diào)度方式。
優(yōu)先級(jí)的意義在于,必須保證重要的任務(wù)優(yōu)先被執(zhí)行。這和辦公和娛樂(lè)應(yīng)用中,各種應(yīng)用任務(wù)平等對(duì)待的理念并不相同。
當(dāng)然優(yōu)先級(jí)這個(gè)事情也不是絕對(duì)的,目前非實(shí)時(shí)操作系統(tǒng)對(duì)于進(jìn)程的調(diào)度,也會(huì)融入優(yōu)先級(jí)的算法,差異只是徹底性的問(wèn)題。
實(shí)時(shí)操作系統(tǒng)是徹底基于優(yōu)先級(jí),一旦有優(yōu)先級(jí)高的任務(wù)出現(xiàn),可以無(wú)條件的,搶占任何正在執(zhí)行的,低優(yōu)先級(jí)的進(jìn)程。而基于基于時(shí)間片的調(diào)度方式的非實(shí)時(shí)操作系統(tǒng),就沒(méi)有這么徹底了,即便有優(yōu)先級(jí),也得讓正在執(zhí)行的任務(wù)完成當(dāng)前時(shí)間片,再優(yōu)先分配高優(yōu)先級(jí)進(jìn)程。
所以實(shí)時(shí)操作系統(tǒng)和非實(shí)時(shí)操作系統(tǒng)的差異,并非系統(tǒng)裁剪、輕量化那么簡(jiǎn)單,整個(gè)系統(tǒng)的核心——任務(wù)調(diào)度算法都不同。
我們平時(shí)一般都會(huì)把實(shí)時(shí)操作系統(tǒng)和嵌入式操作系統(tǒng)關(guān)聯(lián)——嵌入式實(shí)時(shí)操作系統(tǒng),當(dāng)然,“實(shí)時(shí)”和“嵌入式”屬于兩個(gè)不同的分類維度,之所以這么關(guān)聯(lián),主要還是因?yàn)閷?duì)實(shí)時(shí)性要求較高的系統(tǒng),并非針對(duì)于桌面系統(tǒng)和服務(wù)器系統(tǒng),主要還是各種嵌入式設(shè)備,汽車、工業(yè)設(shè)備、軍工裝備等等。也就是說(shuō),大部分實(shí)時(shí)操作系統(tǒng)都是嵌入式操作系統(tǒng),但嵌入式操作系統(tǒng)并非都是實(shí)時(shí)的,是需要視整個(gè)裝備系統(tǒng)的需求情況而定。
我們篩選了國(guó)內(nèi)目前用的比較多的三個(gè)典型場(chǎng)景下的實(shí)時(shí)操作系統(tǒng),供大家參考: