與物理世界的互動(dòng)可能很棘手?甚至危險(xiǎn)!假設(shè)您有一個(gè)控制化學(xué)過(guò)程的物聯(lián)網(wǎng) (IoT) 應(yīng)用程序 - 可能是用于航空航天任務(wù)的外來(lái)化學(xué)品。物聯(lián)網(wǎng)設(shè)備包括溫度傳感器, 壓力, 流量, 和油箱液位以及泵的執(zhí)行器, 加熱器和閥門 ?包括一個(gè)準(zhǔn)備排放高壓的泄放閥。在這種情況下,您可能會(huì)運(yùn)行分析和報(bào)告軟件,接收傳感器讀數(shù),并控制各種泵、加熱器和閥門。借助物聯(lián)網(wǎng),可以通過(guò)通常運(yùn)行復(fù)雜應(yīng)用程序的網(wǎng)關(guān)和控制器將計(jì)算推向邊緣。
現(xiàn)在,危險(xiǎn)就在這里:讓我們假設(shè)化學(xué)反應(yīng)可以在幾乎沒(méi)有警告的情況下失控,產(chǎn)生突然的災(zāi)難性壓力峰值。為了使事情變得有趣,我們將添加一個(gè)高壓反應(yīng)容器,該容器在壓力過(guò)大的情況下可能會(huì)發(fā)生災(zāi)難性故障。事實(shí)上,如果壓力超過(guò) 5,000 psi,則必須在壓力事件發(fā)生后半秒內(nèi)打開(kāi)泄放閥以防止破裂。
通常,響應(yīng)這種突然的壓力事件不會(huì)有問(wèn)題。但是,如果這個(gè)控制系統(tǒng)負(fù)載很大 - 正在生成報(bào)告,垃圾收集器進(jìn)程正在運(yùn)行,接收正常溫度和壓力事件,并且用戶正在與系統(tǒng)交互 - 同時(shí)發(fā)生化學(xué)反應(yīng)產(chǎn)生超壓情況,會(huì)發(fā)生什么?重載控制系統(tǒng)可能無(wú)法及時(shí)響應(yīng)以防止損壞。
答案是使用操作系統(tǒng)和應(yīng)用程序,這些操作系統(tǒng)和應(yīng)用程序旨在使重要事件能夠搶占不太重要的活動(dòng)。這就是Real-Time Linux(RT Linux)的用武之地:一個(gè)已經(jīng)擴(kuò)展到可預(yù)測(cè)地響應(yīng)關(guān)鍵事件的Linux。
RT Linux 為開(kāi)發(fā)人員、系統(tǒng)管理員和用戶提供了一個(gè)熟悉的環(huán)境。它使用標(biāo)準(zhǔn)的 Linux 驅(qū)動(dòng)程序、設(shè)備、網(wǎng)絡(luò)和接口。RT Linux運(yùn)行實(shí)時(shí)應(yīng)用程序,在現(xiàn)代處理器上運(yùn)行時(shí)滿足許多實(shí)時(shí)應(yīng)用程序的要求。它提供了一個(gè)現(xiàn)代開(kāi)發(fā)環(huán)境,并集成到現(xiàn)代分布式系統(tǒng)中。
從本質(zhì)上講,實(shí)時(shí)的概念很簡(jiǎn)單——在可預(yù)測(cè)的時(shí)間內(nèi)響應(yīng)高優(yōu)先級(jí)事件。請(qǐng)注意,這不會(huì)說(shuō)得很快,而是可以預(yù)見(jiàn)。成功的實(shí)時(shí)實(shí)施的秘訣是從可預(yù)測(cè)性開(kāi)始,然后調(diào)整系統(tǒng)規(guī)模以提供所需的性能。
RT Linux 是標(biāo)準(zhǔn) Linux 的擴(kuò)展,它以多種方式解決可預(yù)測(cè)性問(wèn)題。首先,它提供了廣泛的搶占支持,以便高優(yōu)先級(jí)任務(wù)可以從低優(yōu)先級(jí)任務(wù)接管對(duì)系統(tǒng)的控制。它還使用高分辨率計(jì)時(shí)器,以便更高優(yōu)先級(jí)的任務(wù)可以控制系統(tǒng)的點(diǎn)之間的時(shí)間更少。最后,它采用增強(qiáng)的中斷,使關(guān)鍵事件優(yōu)先于不太重要的事件。
在上面的例子中,RT Linux 將以通常的方式處理正常的工作負(fù)載——報(bào)告、分析、垃圾收集、用戶交互等的行為都與通常相同。來(lái)自傳感器和執(zhí)行器的消息將優(yōu)先于其他任務(wù),以便在一致、可預(yù)測(cè)的時(shí)間內(nèi)處理它們。緊急超壓消息和對(duì)泄放閥的命令將優(yōu)先于其他一切,并立即處理 - 無(wú)論系統(tǒng)中發(fā)生什么其他事情。
如果Linux可以處理實(shí)時(shí),你可能想知道為什么仍然使用專用的實(shí)時(shí)操作系統(tǒng)。專用的實(shí)時(shí)操作系統(tǒng)可以提供更強(qiáng)的確定性行為,尤其是在確定性硬件上。這在過(guò)去一直是一個(gè)強(qiáng)有力的因素。
然而,現(xiàn)代系統(tǒng)——具有豐富指令集的多核處理器、多問(wèn)題/亂序處理、多級(jí)緩存和復(fù)雜的 I/O 子系統(tǒng)——在確定性行為方面存在問(wèn)題。在這些系統(tǒng)上,使用傳統(tǒng)方法來(lái)證明任務(wù)將在指定的時(shí)間內(nèi)完成是極其困難的。現(xiàn)代硬件也使用現(xiàn)代軟件 - 包括強(qiáng)大的編程語(yǔ)言,復(fù)雜的框架和庫(kù),豐富的開(kāi)發(fā)和調(diào)試工具 - 所有這些都使得難以證明確定性。
雖然現(xiàn)代系統(tǒng)很難使用形式化技術(shù)來(lái)證明確定性性能,但經(jīng)驗(yàn)表明它們可以在提供實(shí)時(shí)響應(yīng)方面做得非常出色。仔細(xì)的設(shè)計(jì)、全面的測(cè)試和廣泛的基準(zhǔn)測(cè)試是使系統(tǒng)能夠滿足實(shí)時(shí)應(yīng)用程序需求的方法,即使使用傳統(tǒng)上用于分析實(shí)時(shí)系統(tǒng)的形式方法無(wú)法證明性能。
對(duì)于許多應(yīng)用程序,我們可以重新考慮專用的實(shí)時(shí)操作系統(tǒng),并利用RT Linux必須提供的標(biāo)準(zhǔn)化,功能和靈活性。事實(shí)上,問(wèn)題不在于是否將Linux用于實(shí)時(shí)應(yīng)用程序,而在于使用哪種RT Linux:用于嵌入式應(yīng)用程序的精簡(jiǎn)極簡(jiǎn)Linux,用于復(fù)雜應(yīng)用程序的全功能企業(yè)Linux,或者您可能已經(jīng)有經(jīng)驗(yàn)。
審核編輯:郭婷
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2914文章
45058瀏覽量
378467 -
Linux
+關(guān)注
關(guān)注
87文章
11357瀏覽量
210839
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
Linux之CPU調(diào)度策略和CPU親和性

freertos中斷優(yōu)先級(jí)在哪設(shè)置
APS智能優(yōu)化排產(chǎn)軟件的優(yōu)先級(jí)應(yīng)用

評(píng)論