慣有嵌入式系統記憶體管理方案研究

慣有嵌入式系統記憶體管理方案研究

  摘要:嵌入式系統的記憶體管理機制必須滿足實時性和可靠性的要求,嵌入式系統記憶體管理方案研究。本文以開源的的作業系統RTEMS為例,介紹嵌入式系統中記憶體管理的要求、存在的問題以及解決的策略。

  引言

  記憶體管理機制是嵌入式系統研究中的一個重點和難點的問題,它必須滿足以下幾個特性:

  ①實時性。從實時性的角度出發,要求記憶體分配過程要儘可能地快。因此,在嵌入式系統中,不可能採用通用作業系統的一些複雜而完善的記憶體分配策略,一般沒有段頁式的虛存管理機制;而是採用簡單、快速的記憶體分配方案,其分配方案也因程式對實時性的要求而異。例如,VxWorks系統採用簡單的“首次適應,立即聚合”方法;VRTX中採用多個固定尺寸儲存塊的binning方案。

  ②可靠性。嵌入式系統應用的環境千變萬化,在有些特定情況下,對系統的可靠性要求極高,記憶體分配的請求必須得到滿足,如果分配失敗則可能會帶來災難性的後果。比如,飛機的燃油檢測系統。在飛機飛行過程中,如果燃料發生洩漏,系統應該立即檢測到,併發出相應的警報等待飛行員及時處理。如果因為記憶體分配失敗而不能相應地操作,就可能發生機毀人亡的事故。

  ③高效性。記憶體分配要儘可能地減少浪費。不可能為了保證滿足所有的記憶體分配請求而將記憶體配置得很大。一方面,嵌入式系統對成本的.要求使得記憶體在其中只是一種很有限的資源;另一方面,即使不考慮成本的因素,系統硬體環境有限的空間和有限的板面積決定了可配置的記憶體容量是很有限的。

  針對以上三個約束條件,市場上主流的嵌入式作業系統,如VxWorks、嵌入式Linux等均提出了一套有效的解決方案;但是,這些系統只提供了應用開發的介面,其底層的實現方案不可見。本文以開源的嵌入式作業系統RTEMS為例,分析了嵌入式系統記憶體管理所面臨的問題,研究了其底層實現的解決方案。

最近訪問