從ucOS談,為什麼需要作業系統?

2021-07-03 00:15:57 字數 1035 閱讀 8756

1.作業系統可以顯著降低開發難度。

作業系統幫我們協調多個程式之間的耦合關係,比如我們需要將串列埠的接收到的資料顯示在一塊lcd上。傳統做法是如圖1所示 :

圖1.無作業系統流程

該流程中當串列埠接收到資料再呼叫lcd顯示程式將資料顯示出來,而圖2展示了一種基於作業系統的方法。在該方法中串列埠接收資料和lcd顯示程式均以為自己獨佔cpu,各自都只是執行自己相關部分的工作,而什麼時候顯示到lcd螢幕,什麼時候又繼續接收串列埠資料這個協調工作將由作業系統完成。

圖2 作業系統流程 

從以上比較可以看出作業系統協調了不同功能程式以讓他們共同完成同乙個工作。同時作業系統又隔離了各個功能程式讓它們的耦合程度降低。這樣就方便設計人員編寫各個功能模組,同時整個系統的結構也更加清晰。特別是系統邏輯結構複雜,功能模組較多的情況下作業系統的這一優點體現的更加明顯。

2.操縱系統讓每乙個任務都認為自己獨佔cpu,方便**編寫。

同樣採用上邊的例子,無作業系統情況下我麼需要在適當的時候分別呼叫串列埠接收資料程式和lcd顯示程式,而有作業系統時我們只需要完成兩個功能模組**然後加入到作業系統就可以了。兩個功能**都是以無限迴圈的方式執行,結構顯得就很簡單。

3.作業系統增加**的移植性。

這一點我認為在ucos系統上體現得並不明顯,對於其他系統例如android,linux等系統可以這樣講,因為他們基本上應該算是乙個中等複雜系統,而ucos是乙個簡單嵌入式系統。對於乙個中等複雜系統它的底層硬體裝置是有一定要求的,例如android裝置,根據系統特性它就需要有gps支援,顯示屏支援,電子羅盤支援,攝像頭支援這些支援都被列入android裝置的系統內,它們以驅動的形式存在。而上層的應用程式通過呼叫底層的支援進而實現複雜的功能。而ucos我認為它僅僅只是乙個排程器,他的工作就是協調多個應用程式在單個mcu上"同時"執行而已,它幾乎是沒有驅動這個概念的。

為什麼需要作業系統

對於乙個程式而言,它為了保障自己的程式執行流暢,勢必就會要求自己分配到的資源越多越好,但是計算機的資源總是有限的,大家都自顧自搶資源的話,要麼就是大家一起跑不動,要麼就是某幾個程式把別的程式的資源都擠占掉。更麻煩的是,由於程式設計者不可能 到自己的程式會和什麼樣的別的程式同時在乙個電腦中執行,所以很...

ucos作業系統

什麼是作業系統?作業系統是一種系統軟體。他在計算機硬體與計算機應用程式之間,通過提 用程式介面,遮蔽了計算機硬體工作的一些細節,從而使應用程式設計人員得以在乙個友好的平台上進行應有程式的設計和開發,大大提高了應用程式的開發效率。只有硬體構成的計算機叫做 裸機 即沒有程式。硬體 人的骨骼和肌肉。軟體 ...

什麼是 UCOS作業系統及特點

uc os ii micro control operation system two 是乙個可以基於rom執行的 可裁減的 搶占式 實時多工核心,具有高度可移植性,特別適合於微處理器和控制器,適合很多商業作業系統效能相當的實時作業系統 rtos 為了提供最好的移植效能,uc os ii最大程度上使...