關於raw os 的強實時性

2021-08-27 09:27:18 字數 798 閱讀 9077

rawos 由於採用了特殊的系統處理方式,可以把系統最大關中斷時間降到0us.

影響乙個系統實時性最客觀的引數是其系統的最大關中斷時間。

在2440 板子上空跑乙個實時作業系統的話,vxworks 的官方系統最大關中斷時間為6us 以上, ucos 的話可以達到20us以上。但是raw os 是0.8us.

所以其實時性毫無疑問是超越這些系統的。

中斷的處理對於實時性的提高也是很重要的乙個手段。raw os 提供了中斷下半部的手段,來處理中斷。

所謂中斷下半部意思是,中斷的處理可以分成兩部分:

上半部分中斷是關閉的,主要處理是從硬體部分接收資料,然後觸發中斷下半部。

中斷下半部主要是負責資料處理,這部分可能會占用比較長的時間,所以中斷需要開啟。

rawos 的中斷下半部有raw_task_0 類似於linux 的software irq 或者tasklet, raw_task_0 是中端下半部裡面優先順序最高的,一出中斷馬上會被執行,所以裡面可以放優先順序高的中斷處理函式,唯一需要注意的是, raw_task_0 的中斷下半部處理是不能睡眠的,這個和linux 的software irq, 以及tasklet 原理是完全一致的。

rawos 的中斷下半部處理還有workqueue, 類似於linux 的workqueue, workqueue是具有自己的優先順序的,使用者可以自定義優先順序用來實現有優先順序的中斷下半部分處理。workqueue 的一大優勢是,下半部分處理允許睡眠。

綜上所述,raw os把實時性發揮到淋漓盡致的狀態,系統的0us 最大關中斷時間,配合不同策略的中斷下半部處理,使得使用者的產品的實時性得到根本的保障。

關於Storm實時往HBase存資料的效能優化

在開發中根據業務邏輯,需要儲存在storm中每個spout和bolt中產生的資料到hbase表中。在程式調優的過程中不斷調整和優化了幾種方案。這是首先考慮和測試的選擇,也是最先放棄的選擇,短時多次建立連線會造成資源的浪費和排隊,儲存的時間的過長也會影響topology流的穩定性和實時性。8.16補充...

Linux的硬體實時性

linux核心 linux 2.6以前 是不可搶占的,但支援使用者搶占它的排程方法是 乙個程序可以通過schedule 函式自願地啟動一次排程。非自願的強制性排程只能發生在每次從系統呼叫返回的前夕以及每次從中斷或異常處理返回到使用者空間的前夕 這種強制性排程又叫使用者搶占 但是,如果在系統空間發生中...

強名稱(3)強名稱的脆弱性

通過前文共同體驗了強名稱對程式集的保護方式和原理,但是這種保護的強度到底有多大呢?能有效地防禦惡意篡改者嗎?先看下面的例子。回到上篇文章的 清單 9 7,重新對 strongnamereferencelib 專案進行強名稱簽名,然後編譯 strongname 專案。在 strongname 專案的b...