如何選擇正確的嵌入式作業系統型別
在嵌入式系統的前期設計過程中,你必須決定所採用的嵌入式作業系統的型別。這是一個很重要的決定,因為這會影響到工程後期的釋出以及軟體的維護。本文中將概括四種通用體系和一些值得考慮的觀點。
沒有標準的作業系統很多
嵌入式作業系統
都是非標準的作業系統。對於針對比較狹窄領域,尤其是使用帶有非常有限資源的微控制器來說,這是一個很正常的現象。作業系統中最基本的操作是建立一個帶有能夠處理關鍵實時事件的中斷服務程式(ISR)的簡單後臺迴圈程式碼,過程非常簡單,但卻是相當出色。
然而,當專案增大,很多問題就隨之產生。後臺迴圈所需要的響應時間取決於迴圈次數最多所用的時間。當迴圈次數增多,所需要的時間就會增多,可預測的方面就減少。此時有用的方法就是將這些後臺迴圈分成很多小部分,但這可能導致產生更復雜的系統而難於除錯和維護。如果系統中有多個開發人員,這一情況會變成更加惡化。
沒有優先級別的作業系統
一個簡單的、沒有優先級別的作業系統可以在一個大型後臺迴圈中增添一些規則。這一方法對於中等大小的工程最為合適。
一個沒有優先級別的作業系統可以將程式中的後臺工作轉化為可以預先處理的工作,而不需要將原來的程式分割成多個塊。一個不存在優先級別的系統一般相對比較很容易的執行、除錯,並且,在設計過程中不存在很多如資源共享的複雜操作。
這一系統的主要不足之處是開發人員必須時刻保護決定將CPU轉交給其他任務的時間。如果轉交時間延遲,即使只有一次,也會對整個作業系統的響應導致崩潰。 ]
具備優先級別的作業系統
一個完整的具備優先級別的作業系統可以處理包含多個相互競爭的任務和多個軟體開發者。具備優先級別的作業系統在外部事件(比如中斷,時間等)和作業系統呼叫之間轉換。
任務根據它們之間相對的優先級別和分配的時間週期進行安排,這就可以讓你從決定轉換任務的`時間之中解放出來,同時,也減少了任務之間的相互衝突。
這一特性帶來了很多外在的複雜性。在優先級別的系統中的任務轉換會使除錯帶來更多的困難,而且需要任務之間的相互通訊的外部機制。
然而,這一外部機制帶來了新的問題,比如任務之間的死鎖冒險。程式設計師必須學會使用新的技術和規則來處理這些問題,否則將會導致很多臭蟲和不可靠的程式碼。
更改的桌面型作業系統
更改的桌面型作業系統,比如Windows,Linux,或者DOS,都是一些流行的嵌入式裝置,特別是基於使用者介面的系統。這些作業系統非常能吸收人,因為它們功能特別完整,並且提供了開發人員一個熟悉的開發環境。
然而,這些系統卻通常會出現資源危機,執行的控制器的效能也非常受限制,從而不能滿足執行特定環境下的實時效能限制。
嵌入式作業系統的特定與標準的桌面型環境有很多不相同的地方,所以開發一個嵌入式產品並不是簡單地遵循開發一個標準的桌面程式的方法那麼的直接。
-
win7始終以管理身份執行方法
有一些程式需要始終以管理員的身份來執行的,下面是由本站小編為大家整理的win7始終以管理身份執行方法,喜歡的`可以收藏一下!瞭解更多詳情資訊,請關注應屆畢業生考試網!win7始終以管理身份執行方法:1、使用滑鼠右鍵點選程式圖示,然後選擇屬性,如下圖所示:2、在彈出的...
-
Linux運維工程師的主要職責
Linux運維工程師的主要職責1職責:1.負責linux伺服器的安裝、配置、系統監控及日常維護;2.參與linux伺服器架構設計、環境搭建、優化及升級;3.負責系統及應用的安全,優化,故障解決等工作;4、資料備份、資料監控、應急響應、故障排除等。職位要求:1.精通linux系統的...
-
Win7純淨版出現藍屏程式碼0xA0000001怎麼辦
Win7純淨版出現藍屏程式碼0xA0000001怎麼辦?彆著急,先看看以下的辦法能不能解決問題,再決定是否找專業的人幫忙。解決方法:1、出現0xA0000001藍屏程式碼,得得系統小編建議使用者先檢視系統藍屏日誌,通過日誌分析導致藍屏的原因,從而尋找解決方法。小編建議採用魔方藍屏助手...
-
十個步驟打造安全的個人Web伺服器
Win2003Server的安全性較之Win2K確實有了很大的提高,但是用Win2003Server作為伺服器是否就真的安全了?如何才能打造一個安全的個人Web伺服器?下面就來和小編一起看看十個步驟打造安全的個人Web伺服器吧。一、WindowsServer2003的安裝1、安裝系統最少兩需要個分...