OSAL作業系統抽象層

2021-10-05 06:55:44 字數 1339 閱讀 2767

osal,operating system abstraction layer,即作業系統抽象層

osal是一種基於任務事件驅動的輪詢式作業系統

osal作業系統抽象層:

>>> main函式入口

osal_init_system();

--->>>osalinittasks();

osal_start_system();

--->>>osal_run_system();

任務事件輪詢

osal_run_system()不斷輪詢遍歷所有任務事件,事件被置位後就會被排程執行該任務.

需要注意的是每次任務被排程時都只處理乙個事件,並在處理完後清除該事件

每個任務最多可以同時設定16個事件,但有些位已經被系統定義事件占用,所以自定義事件時最好不要與其衝突,如:任務間訊息收發事件sys_event_msg = 0x8000

置位任務事件:

//方法一:osal_set_event置位事件

/* *功能:新增任務事件

*引數* @task_id 任務id

* @event_flag 事件

*/uint8 osal_set_event( uint8 task_id, uint16 event_flag )

uint8 osal_clear_event( uint8 task_id, uint16 event_flag )

//方法二:定時器觸發任務事件

/* timeout_value:定時時間值(ms) */

uint8 osal_start_timerex( uint8 taskid, uint16 event_id, \

uint16 timeout_value )

在osal新增新任務:

(詳細內容,參考新增新任務**02_osal_add_mytask)

作業系統的抽象與虛擬化

說抽象之前得先知道cpu 以及鍵盤 滑鼠是之間是工作的。cpu最終狀態只能進行加減,當我們輸入乙個簡單的字元 a 的時候,鍵盤與 cpu都是把字母 a 轉化為能夠識別的二進位制 01才能識別。而這一些對於使用者來說都是透明的,讓使用者認為當輸入乙個字母 a 時就是對字母 a 的乙個 投影 顯示。但實...

作業系統 作業系統介面

介面表現為函式呼叫,由作業系統提供,連線作業系統和應用軟體。出於安全性考慮,應用程式不能直接在記憶體中任意訪問 將核心程式和使用者程式隔離 通過比較訪問資料段cpl和rpl的特權級和當前段dpl的特權級之間的關係 應用程式呼叫庫函式printf printf呼叫庫中的write函式 write將函式...

作業系統(作業系統引論)

方便性 方便使用者進行操作計算機 有效性提高系統資源的利用率 提高系統的吞吐量,加速程式的執行 可擴充性 方便地增添新的模組和功能,以及對原有的功能模組進行修改 開放性能夠遵循世界標準規範 os作為使用者和計算機硬體系統之間的介面 使用者能夠通過作業系統來使用計算機系統 os作為計算機資源的管理者 ...