何為嵌入式系統?
嵌入式系統是指作業系統和功能軟體內建于計算機硬體系統之中。簡單的說就是系統的應用軟體與系統的硬體一體化,類似與bios的工作方式。具有軟體代碼小,高度自動化,響應速度快等特點。特别适合于要求實時的和多任務的體系。
嵌入式實時多任務作業系統
實時多任務作業系統(real time operating system)是根據作業系統的工作特性而言的。實時是指實體程序的真實時間。實時作業系統是指具有實時性,能支援實時控制系統工作的作業系統。首要任務是排程一切可利用的資源完成實時控制任務,其次才着眼于提高計算機系統的使用效率,重要特點是要滿足對時間的限制和要求。
實時多任務作業系統與分時多任務作業系統
它們有明顯的差別。具體的說,對于分時作業系統,軟體的執行在時間上的要求,并不嚴格,時間上的錯誤,一般不會造成災難性的後果。而對于實時作業系統,主要任務是對事件進行實時的處理,雖然事件可能在無法預知的時刻到達,但是軟體上必須在事件發生時能夠在嚴格的時限内作出響應(系統響應時間),即使是在尖峰負荷下,也應如此,系統時間響應的逾時就意味着緻命的失敗。另外,實時作業系統的重要特點是具有系統的可确定性,即系統能對運作情況的最好和最壞等的情況能做出精确的估計。
實時作業系統中的重要概念
系統響應時間(system response time )系統發出處理要求到系統給出應答信号的時間。
任務換道時間(context-switching time)是任務之間切換而使用的時間。
中斷延遲(interrupt latency )是計算機接收到中斷信号到作業系統作出響應,并完成換道轉入中斷服務程式的時間。
實時作業系統應具有如下的功能:
1) 任務管理(多任務和基于優先級的任務排程)
2) 任務間同步和通信(信号量和郵箱等)
3) 存儲器優化管理(含rom的管理)
4) 實時時鐘服務
5) 中斷管理服務
實時作業系統的工作特性
實時作業系統中的任務(task)等同于分時作業系統中的程序(process)的概念。系統中的任務有四種狀态:運作(executing),就緒(ready),挂起(suspended),冬眠(dormant)。
運作:獲得cpu控制權。
就緒:進入任務等待隊列。通過排程轉為運作狀态。
挂起:任務發生阻塞,移出任務等待隊列,等待系統實時事件的發生而喚醒。進而轉為就緒或運作。
冬眠:任務完成或錯誤等原因被清除的任務。也可以認為是系統中不存在了的任務。
系統中隻能有一個任務在運作狀态。各任務按級别通過時間片分别獲得對cpu的通路權。