1. 中斷是對異步事件的響應……
函數調用是主動的,中斷是被動的,中斷髮生時,調用中斷服務子程序。
2. 空閒任務總是優先級最低的;之上是統計任務;每個任務的優先級都是程序員確定的;
3. 任務堆棧:
任務的創建:
任務刪除的原理:
任務代碼仍然存在,任務的控制塊被刪除,任務堆棧失效;
Uc/os是高度可移植的實時操作系統,基於優先級的可搶先的硬實時內核,專門未嵌入式設備設計的內核。
BSP是板級支持包,是介於主板硬件和操作系統之間的一層,應該說是屬於操作系統的一部分,主要目的是爲了支持操作系統,爲上層的驅動程序提供訪問硬件設備寄存器的函數包,使之能夠更好的運行於硬件主板;
BSP是相對於操作系統而言的,不同的操作系統對應於不同定義形式的BSP;
主要的功能是爲屏蔽硬件,提供操作系統以及硬件的驅動:
1. 硬件初始化,主要是CPU的初始化,爲整個軟件系統提供底層硬件支持
2. 爲操作系統提供設備驅動設備驅動程序和系統中斷服務程序
3. 定製操作系統的功能,爲軟件系統提供一個實時多任務的運行環境
4. 初始化操作系統,爲操作系統的正常運行做好準備。
性能特點:
公開源代碼
可移植性
可固化
可裁剪:可以減少產品中的uc/os所需的存儲器空間,這樣可裁剪性是靠條件編譯實現的。
多任務
可搶佔式:可以管理64個任務,系統保留了4個最高優先級的任務和4個最低優先級的任務,所有用戶可以使用的任務數有56個
可確定性
任務棧:每個任務都有自己單獨的棧,允許每個任務有不同的棧空間,這樣可以加快任務調度的速度
系統服務
中斷管理
穩定性與可靠性
從任務存儲結構來看,由三部分組成:
任務程序代碼:程序的執行部分
任務控制塊(TCB) 用來保存任務屬性
任務堆棧 用來保存任務工作環境
什麼是任務:
從應用程序設計的角度看,任務就是一個用來解決用戶問題的C語言函數和與之相關聯的一些數據結構而構成的一個實體
任務分類有兩種:用戶任務和系統任務,
用戶任務:由應用程序設計者編寫的任務,爲解決應用問題而編寫
系統任務有系統提供的任務,爲應用程序來提供某種服務的;
Uc/os-II把每一個任務都作爲一個節點,然後把它連接成一個任務鏈表。
任務的狀態:
Waiting:正在運行的任務,需要等待一段時間或需要等待一個事件發生再運行時,該任務就會把CPU的使用權讓給其他任務而使任務進入等待狀態
Ready:處於就緒態的任務如果經調度器判斷獲得了CPU的使用權,則任務就進入運行態。任何時候只能有一個任務處於運行態,就緒的任務只有當所有優先級高於本任務的任務都轉爲等待狀態時,才能進入運行態。