uC OS ll 讀書筆記1

2021-07-22 08:31:01 字數 2413 閱讀 3586

作業系統的主要功能:

1.處理器的管理:

對中斷的管理

和對處理器工作進行排程

2.儲存的管理

3.裝置的管理

4.檔案的管理

5.網路和通訊管理

6.提供使用者介面

嵌入式計算機系統的特點:專用性強,可裁剪性好,實時性與可靠性好,功耗低

嵌入式作業系統的特點:微型化,可裁剪性,實時性,高可靠性,易移植性

實時作業系統的要求:邏輯成功

和時間正確

實時作業系統的條件:1.必須是多工系統

2.任務切換時間應與系統中的任務數無關

3.中斷延時的時間可預知並盡可能短

任務**:

void mytask(void *pdata)

for(;;)

使用者編寫的**;

嵌入式作業系統主要提供記憶體管理,多工管理,外圍資源管理三項服務

1.任務在ucosii中有五種狀態:

①睡眠狀態

②就緒狀態

③執行狀態

④等待狀態

⑤中斷服務狀態

2.使用者任務**的一般結構:

通常是乙個無限迴圈結構,並且在迴圈中可以響應中斷,這種結構也叫

超迴圈結構。

例:void mytask(void *pdata)

for( ; ; )

可以被中斷的使用者**;

os_enter_critical();   //進入臨界段,關中斷

不可以被使用者中斷的使用者**;

os_exit_critical();   //進入臨界段,開中斷

可以被中斷的使用者**;

osinit();  //初始化

ucosii

ostaskcreate(mytask1,......);//建立任務函式

osstart();//啟動任務函式

3.系統任務:

空閒任務和統計任務

空閒任務的**如下:

void ostaskidle(void *pdata)

#    if  os_critical_method == 3

os_cpu_sr cpu_sr;

#endif  

pdata = pdata;  //防止某些編譯器報錯

for(; ; )

os_enter_critical();             //關閉中斷

osdlectr++;                 //計數

os_exit_critical();               //開啟中斷

統計任務ostaskstart()每秒計算一次

cpu在單位時間內被使用的時間,並以百分比顯示在

oscpusage

這個變數中。若使用者使用這個統計任務,必須把在標頭檔案

os_cfg.h

中的系統配置常數

os_task_stat_en

設定為1

,在統計之前必須呼叫

osstatinit()

對統計任務初始化。

4.ucosii 每個任務都具有唯一的優先級別,分位

64個優先級別,其中

0最高。常數

os_lowest_prio

代表最低優先級別,一旦被定義,系統中的優先級別為0,

1,2.......os_lowest_prio,

共os_lowest_prio

個。如果應用程式中還使用了統計任務,則系統會把優先級別

os_lowest_prio - 1

自動賦給統計任務,因此使用者可以使用的優先級別是0,

1,2,

......

,os_lowest_prio - 2

,共os_lowest_prio - 1個。

2.2任務堆疊

為了方便定義任務堆疊,在檔案os_cpu.h中專門定義了乙個資料型別

os_stk:

typedef unsigned int os_stk;

這樣定義乙個os_stk型別的乙個陣列即可,例如:

#define task_stk_size 512;  //定義長度

os_stk taskstk[task_stk_size];  //定義陣列作為任務堆疊

呼叫函式ostaskcreate()來建立乙個任務時,陣列的指標傳遞給函式中的堆疊棧頂餐胡

ptos

,就可以把陣列與任務關聯寄來

int80 ostaskcreate(

void (*task)(void *pd),     //指向任務的指標

void *pdata,             //傳遞給任務的引數

os_stk *ptos,           //任務堆疊棧頂的指標

int8u prio             //指定任務優先順序別的引數

讀書筆記 1

從我第一次看到windows就對它那花花綠綠的外表所吸引,大學兩年過來,時間又讓我從另乙個角度重新認識的了這些美麗的。本學期開始圖形程式設計的學習,探索windows圖形系統,並對gdi api,directdraw api進行學習。之所以寫部落格,第 一 是想勉勵自己不斷學習,讓大家監督 第 二 ...

讀書筆記1

netstat p525 網路資訊服務是通過本地查詢,還是要連線到遠端資料庫 p527 網路配置檔案?服務資訊函式?linux下如何組網 p527 如何設定計算機的主機名 p528 套接字 第15章 套接字 套接字 p513,523 what 套接字 一種程序間通訊機制 不僅可以本地程序通訊,也可以...

讀書筆記 1

條款01 視c 為乙個語言聯邦 條款02 盡量以const,enum,inline替換 define 條款03 盡可能使用const 條款04 確定物件被使用前已先被初始化 條款05 了解c 默默編寫並呼叫哪些函式 什麼時候empty class不再是個empty class呢?當c 處理過它之後....