作業系統是應用程式與硬體的之間的介面,只有硬體構成的電腦成為裸機,作業系統的功能主要是對計算機的資源進行管理。
主要的功能:
1.處理器的管理,主要兩項工作:一是對中斷的管理,二是對處理器的工作的進行排程。因為處理器的硬體只能發現外部時間的中斷的請求,不能對中斷進行管理和處理。
2.儲存的管理;
3.裝置的管理,以便完成使用者提出的
i/o的請求,加快輸入
/輸出的速度,提高
i/o外部裝置的管理的功能,以便完成使用者的
i/o的請求。
4.檔案管理,
5.網路額通訊的管理;
6.提供使用者的介面;
嵌入式系統的特點:微型化,可裁剪性,實時性,高可靠性,易移植性;
按外部事件響應的能力來分類:嵌入式系統主要分為:實時作業系統和分時作業系統
實時作業系統:作業系統能說是計算機系統及時的響應的外部的請求,並能及時控制所有的實時的裝置與實時任務協調的執行,且在規定的室內完成事件的處理。
實時操作的系統的兩個基本的要求:
1.實時作業系統必須正確的結果,成為邏輯或功能成功;
2.實時作業系統必須要在預定的時間裡面內完成,成為事件的正確;
注:實時作業系統,就是面對乙個突發的事件以後,必須在有限的時間裡面做出正確的計算,以及處理;
實時作業系統又分為:硬實時作業系統和軟實時作業系統;
硬實時:就是在及嚴格的時間裡面完成任務;
軟實時:對於計算的超時有一定的容忍;
實時的作業系統應該要滿足的條件:
1.實時作業系統必須是hi多工的系統。
2.任務的切換時間應與系統中的任務書沒有關係。
3.中斷的延遲的時間盡可能的短並可以預知;
中斷的延遲:
外部的事件發生常常以乙個中斷的請求的訊號形式來通知cpu,然後才執行中斷的服務的程式來處理該事件。自
cpu響應中斷到
cpu轉向中斷服務程式之間所用的時間叫做中斷時間叫做中斷延時。顯然,中斷延時要影響系統的實時性。
嵌入式的實時作業系統:
大多數的作業系統主要提供三項服務來輔助應用程式設計人員,它們分別是:
1.記憶體的管理,主要管理的是動態的記憶體,當應用程式的某一部分需要使用記憶體時,可利用作業系統所提供的記憶體管理分配的函式來獲得足夠的記憶體空間,一旦使用完畢以後,可以呼叫系統提供的釋放記憶體的函式,把曾經使用的記憶體空間還給系統,這樣記憶體的空間就可以重複利用。
2.多工管理。嵌入式實時作業系統應該提供肺腑的多工管理的函式,通常,嵌入式實時作業系統都會提供良好的任務的任務條度及時,控制任務的啟動執行,暫停結束等狀態。
3.外圍資源管理;
任務:任務也可以稱作為程序,是乙個簡單的程式,該程式認為cpu完全屬於自己,實時的應用的程式的設計的時候分割成了許多的任務,每乙個任務都對應應用的某一部分。每乙個任務都被賦予一定的優先順序,有自己的暫存器個棧空間。每乙個任務都是乙個無限的迴圈,每乙個任務都處在
5中狀態下,這五種狀態下是休眠,就緒的執行,掛起的狀態和中斷的狀態。休眠的狀態就是相當於任務在記憶體中,但是沒有被呼叫,就緒的狀態意味著該任務已經準備好了,可以進行執行,該優先順序比正在執行的優先順序低
,相當於還在排隊。,掛起的狀態,是等待的事件,這個任務一直在等待乙個東西,能讓它執行起來的東西
中斷狀態就是被乙個中程式中斷了唄。
任務的切換:
就是暫存器裡面的內容的切換,當多工核心決定執行另外的任務時,它要儲存當前的任務的執行的狀態等一切的資料內容,就是將資料從暫存器裡面搬到自己的棧空間裡,然後由下一乙個任務來使用這些暫存器。做任務切換的時候所需要的時間取決於cpu有多少的暫存器需要進行入棧的操作。 實時核心的效能不應該以每秒鐘能做多少次任務的切換來評價。
其實切換的過程就像乙個屋子換個人住,先要將原來住主將裡面的東西點搬到自己的地方,把地方給騰空出來,給下一位住主提供空間。
核心:多工系統中,核心的作用就是負責管理各個任務,或者說每個任務分配cpu的時間,並且負責任務之間的通訊。主要提供服務是任務的切換,核心將會消耗一定的硬體的資源
微控制器一般是不能執行實時的核心,因為微控制器的ram很有限。所以只能一共必不可少的系統的服務,諸如訊號管理,郵箱資訊佇列,延時等,實時的核心使得
cpu的利用更加的有效。
ucos ii作業系統
ucos ii是乙個多工的作業系統,其最大優點即為實時性。任務通常是乙個無限的迴圈,其中包括了使用者 而實時性即指最快的響應優先順序最高的任務。確實,對於乙個初步接觸ucos ii的新手來講,想要完全理解是要花時間的。我們想用ucos ii,在移植成功後 以後在寫移植方面吧 我們首先就得進行初始化,...
uCOS II作業系統
簡介 ucos ii是乙個簡單 高效的嵌入式實時作業系統核心 支援x86 arm powerpc mips等多種體系結構 www.ucos ii.com ucos ii的各種商業應用 醫療器械 移動 路由器 工業控制 gps 導航系統 智慧型儀器 更多 計算機作業系統的作用 從使用者的角度來看它就是...
UCOSII作業系統
1 ucosii作業系統是怎麼管理任務的?用圖是最能表現的 1 任務控制塊是來管理任務的。2 其中ucosii把所有的任務都是通過雙向鍊錶來連線到一起的,為什麼?我難道不能使用陣列來分配空間嗎?關鍵原因 在整個作業系統中,因為我們不知道使用者到底需要多少個任務,所以使用鍊錶的話,在編譯後才確認的話,...