原理與特征
嵌入式系統的典型架構可概括為兩種模式,即層次化模式架構和遞歸模式架構
層次化模式架構,位于高層的抽象概念與低層的更加具體的概念之間存在著依賴關系,封閉型層次架構指的是,高層的對象只能調用同一層或下一層對象提供的方法
遞歸模式架構,將一個非常復雜的系統進行分解,自頂向下分解系統的功能
嵌入式操作系統(EOS),通常包括與硬件相關的底層驅動軟件、系統內核、設備驅動接口、通信協議、圖形界面、標準化瀏覽器
從嵌入式操作系統體系架構看,主要存在4種結構:整體結構、層次結構、客戶/服務器結構和面向對象結構
整體結構:也稱為模塊結構或無序結構,它是基于結構化程序設計的一種軟件設計方法。
典型的強實時調度算法:
- 最早截止時間優先(Earlier Deadline First EDF),任務截止時間越早,優先級就越高
- 最低松弛度優先(Least Laxity First LLF),松弛程度越低,優先級越高。松弛程度指任務最早運行時間與任務最晚運行時間差
- 單調速率調度算法(Rate Monotonic Scheduling RMS)任務的執行周期越短,優先級越高
嵌入式數據庫系統主要特點:嵌入式、實時性、移動性、伸縮性,按存儲位置不同可分為三類:基于內存方式、基于文件方式、基于網絡方式
- 基于內存式數據庫系統(MMDB)是實時系統和數據庫系統的有機結合,即活動事務只與實時內存數據庫的內存拷貝打交道,典型產品是eXtremeDB嵌入式數據庫
- 基于文件的數據庫(FDB)是以文件方式存儲數據庫數據,即數據按照一定格式 存儲在磁盤種。使用時由應用程序通過相應的驅動程序甚至直接對數據文件進行讀寫。典型產品是SQLite
- 基于網絡的數據庫(NDB)基于手機4G/5G的移動通信基礎上的數據庫系統,在邏輯上可以把嵌入式設備看作遠程服務器的一個客戶端
設計方法
自頂向下的設計方法,基于架構的軟件設計(ABSD)可適用于嵌入式系統的軟件設計方法
屬性驅動的軟件設計(ADD)
利用對質量屬性實現與架構設計之間的關系的了解對軟件架構進行設計,需要經歷評審、選擇驅動因子、選擇系統元素、選擇設計概念、實體化元素和定義接口、草擬視圖和分析評價七個階段
實時系統設計方法(DARTS)
將實時系統分解為多個并發任務,并定義這些任務之間的接口。提供一些分解規則和一套處理并發任務的設計步驟。
起源于實時結構化分析和設計方法(RTSAD)主要分為實時結構化分析(RTSA)和實時結構化設計(RTSD))
DARTS方法主要由以下5個部分組成:
- 用實時結構化分析方法(RTSA)開發系統規范:需要產出開發系統環境圖(SCD)和狀態轉換圖(STD)
- 將系統劃分為多個并發任務:產出初步任務架構圖(TAD)
- 定義任務間的接口:用事件流的映射作為事件信號
- 設計每個任務
- 設計過程的成果:需要用文檔或圖示
圖片來源于網絡?