MicroC/OS-II:即時作業系統核心 (MicroC/OS-II: The Real-Time Kernel, 2/e)

黃文增

  • 出版商: 全華
  • 出版日期: 2006-09-29
  • 定價: $650
  • 售價: 9.5$618
  • 貴賓價: 9.0$585
  • 語言: 繁體中文
  • ISBN: 957215558X
  • ISBN-13: 9789572155585

無法訂購

買這商品的人也買了...

產品描述

本書特色

1.本書詳細介紹uC/OS-II的設計,暸解即時多工作業系統的基本原理;讀者可以學到核心結構、調度算法等知識。
2.本書提供完善的嵌入式即時多工作業系統的原始碼,並且針對原始碼作詳細解釋。
3. 本書內含程式規約函數以及變量等的速查手冊

 

本書內容

uC/OS-II是著名原始碼公開的即時多工作業系統,是可用於各類8位元、16位元和32位元機器或DSP。uC/OS-II已有10餘年應用歷史,在諸多領域中得到廣泛的運用。 本書是MicroC/OS-II The Real-Time Kernel的第二版,在第一版的基礎上作了重大改進與升級。透過uC/OS-II原始碼的分析與描述,說明即時作業系統基本概念、競爭與調度算法、任務間同步與通信、儲存與定時的管理以及如何處理優先權倒轉問題;並且介紹如何將uC/OS-II移植至不同CPU上,如何調適移植程式碼。本書所附光碟中,給予通過FAA安全驗證的uC/OS-II V
2.52,全部原始碼以及可在PC上運作的移植範例。 本書可作為大專院校「作業系統」課程或工程師培養教材,亦可提供嵌入式應用發展人員研究與使用。

<目錄>

第1章 開始使用mC/OS-II 1-1
1.00 安裝mC/OS-II 1-1
1.01 範例#1 1-2
1.02 範例#2 1-12
1.03 範例#3 1-26
1.04 範例#4 1-38
第2章 即時系統概念(Real-time System Concepts) 2-1
2.00 前景背景系統 2-2
2.01 程式碼的臨界區間 2-3
2.02 資 源 2-3
2.03 共享資源 2-3
2.04 多 工 2-3
2.05 工 作 2-4
2.06 內容轉換(或稱工作切換) 2-6
2.07 核 心 2-6
2.08 排程器 2-6
2.09 非強取式核心 2-7
2.10 強取式核心 2-8
2.11 可再進入之函數 2-10
2.12 輪番排程法 2-12
2.13 工作優先權 2-12
2.14 靜態優先權 2-13
2.15 動態優先權 2-13
2.16 優先權反轉 2-13
2.17 工作優先權分配 2-16
2.18 互 斥 2-18
2.19 死 結 2-27
2.20 同 步 2-27
2.21 事件旗標 2-29
2.22 工作間的通信 2-30
2.23 訊息郵箱 2-31
2.24 訊息佇列 2-32
2.25 中 斷 2-33
2.26 中斷延遲 2-34
2.27 中斷回應 2-34
2.28 中斷恢復時間 2-35
2.29 中斷延遲、回應和恢復 2-36
2.30 中斷服務常式處理時間 2-38
2.31 非遮罩中斷 2-38
2.32 時鐘節拍 2-40
2.33 對記憶體的需求 2-42
2.34 使用即時核心的優缺點 2-43
2.35 即時系統結論 2-44
第3章 核心結構 3-1
3.00 臨界區,OS_ENTER_CRITICAL()和OS_EXITCRITICAL() 3-3
3.01 工 作 3-7
3.02 工作狀態 3-9
3.03 工作控制區(OS_TCB) 3-11
3.04 就緒表 3-22
3.05 工作排程 3-25
3.06 工作級的內容轉換,OS_TASK_SW() 3-28
3.07 排程器的上鎖和開鎖 3-32
3.08 閒置工作 3-34
3.09 統計工作 3-36
3.10 mC/OS-II中的中斷 3-42
3.11 時鐘節拍 3-48
3.12 mC/OS-II初始化 3-53
3.13 mC/OS-II的啟動 3-55
3.14 獲取目前mC/OS-II的版本號 3-59
第4章 工作管理 4-1
4.00 建立工作,OSTaskCreate() 4-2
4.01 建立工作,OSTaskCreateExt() 4-5
4.02 工作堆疊 4-10
4.03 堆疊檢驗,OSTaskStkChk() 4-13
4.04 刪除工作,OSTaskDel() 4-18
4.05 請求刪除工作,OSTaskDelReq() 4-23
4.06 改變工作的優先權OSTaskChangePrio() 4-27
4.07 暫時停止工作,OSTaskSuspend() 4-32
4.08 恢復工作,OSTaskResume() 4-34
4.09 獲得有關工作的資訊,OSTaskQuery() 4-36
第5章 時間管理 5-1
5.00 工作延遲函數,OSTimeDly() 5-2
5.01 按時分秒延遲函數,OSTimeDlyHMSM() 5-4
5.02 讓處在延遲期間的工作結束延遲,OSTimeDlyResume()5-7
5.03 系統時間,OSTimeGet()和OSTimeSet() 5-9
第6章 事件控制區塊 6-1
6.00 置放一個工作在事件控制區塊的等待表 6-5
6.01 從事件控制區塊等待表裡移除一個工作 6-6
6.02 在事件控制區塊找出正在等待的最高優先權工作 6-6
6.03 空餘的事件控制區塊表 6-9
6.04 初始化一個事件控制區塊,OS_EventWaitListInit() 6-9
6.05 使一個工作進入就緒態,OS_EventTaskRdy() 6-11
6.06 使一個工作進入等待某事件發生狀態,OS_EventTaskWait() 6-14
6.07 由於等待逾時而將工作置為就緒態,OS_EventTO() 6-14
第7章 號誌管理 7-1
7.00 建立一個號誌,OSSemCreate() 7-2
7.01 刪除一個號誌,OSSemDel() 7-5
7.02 等待一個號誌,OSSemPend() 7-8
7.03 發出一個號誌,OSSemPost() 7-12
7.04 無等待地請求一個號誌,OSSemAccept() 7-14
7.05 查詢一個號誌的當前狀態,OSSemQuery() 7-16
第8章 互斥號誌管理 8-1
8.00 建立一個互斥號誌,OSMutexCreate() 8-5
8.01 刪除一個互斥號誌,OSMutexDeI() 8-8
8.02 等待一個互斥號誌,OSMutexPend() 8-12
8.03 釋放一個互斥號誌,OSMutexPost() 8-17
8.04 無等待地獲取互斥號誌,OSMutexAccept() 8-20
8.05 獲取互斥號誌的當前狀態,OSMutexQuery() 8-22
第9章 事件旗標組管理 9-1
9.00 深入事件旗標組 9-2
9.01 建立一個事件旗標組,OSFlagCreate() 9-5
9.02 刪除一個事件旗標組,OSFlagDel() 9-8
9.03 等待事件旗標組的事件旗標位元,OSFlagPend() 9-11
9.04 設定或清除位元事件旗標組中的事件旗標,OSFlagPost() 9-22
9.05 無等待的獲得事件旗標組中的事件旗標,OSFlagAccept() 9-33
9.06 查詢事件旗標組的狀態,OSFlagQuery() 9-37
第10章 訊息郵箱管理 10-1
10.00 建立一個郵箱,OSMboxCreate( ) 10-2
10.01 刪除一個郵箱,OSMboxDel( ) 10-5
10.02 等待郵箱中的訊息,OSMboxPend( ) 10-9
10.03 向郵箱發送一則訊息,OSMboxPost( ) 10-12
10.04 向郵箱發送一則訊息,OSMboxPostOpt( ) 10-14
10.05 無等待的從郵箱中得到一則訊息,OSMboxAccept( ) 10-17
10.06 查詢一個郵箱的狀態,OSMboxQuery( ) 10-19
10.07 用郵箱作為二元號誌 10-21
10.08 使用郵箱來代替OSTimeDly( ) 10-22
第11章 訊息佇列管理 11-1
11.00 建立訊息佇列,OSQCreate( ) 11-5
11.01 刪除訊息佇列,OSQDel( ) 11-8
11.02 等待佇列中的訊息,OSQPend( ) 11-12
11.03 傳送訊息到佇列,OSQPost( ) 11-16
11.04 傳送訊息到佇列,OSQPostFront( ) 11-18
11.05 傳送訊息到佇列,OSQPostOpt( ) 11-20
11.06 無等待的從訊息佇列中獲得訊息,OSQAccept( ) 11-23
11.07 清空訊息佇列,OSQFlush( ) 11-25
11.08 獲得訊息佇列的狀態,OSQQuery( ) 11-27
11.09 使用訊息佇列讀取類比輸入 11-30
11.10 使用訊息佇列作為計數型號誌 11-31
第12章 記憶體管理(Memory Management) 12-1
12.00 記憶體控制區塊 12-3
12.01 建立一個記憶體分區,OSMemCreate( ) 12-4
12.02 獲得一個記憶體區塊,OSMemGet( ) 12-8
12.03 釋放一個記憶體區塊,OSMemPut( ) 12-9
12.04 查詢一記憶體分區的狀態,OSMemQuery( ) 12-11
12.05 使用記憶體分區 12-13
12.06 等待一個分區的記憶體區塊 12-15
第13章 移植mC/OS-II 13-1
13.00 發展工具 13-4
13.01 目錄及檔案 13-4
13.02 INCLUDES.H 13-6
13.03 OS_CPU.H 13-6
13.04 OS_CPU_C.C 13-15
13.05 OS_CPU_A.ASM 13-24
13.06 測試移植版本 13-32
第14章 80x86移植版本 14-1
14.00 發展工具 14-3
14.01 目錄與檔案 14-5
14.02 INCLUDES.H 14-5
14.03 OS_CPU.H 14-6
14.04 OS_CPU_C.C 14-12
14.05 OS_CPU_A.ASM 14-27
14.06 記憶體使用量 14-43
第15章 80x86移植版本 15-1
15.00 發展工具 15-1
15.01 目錄與檔案 15-4
15.02 INCLUDES.H 15-4
15.03 OS_CPU.H 15-5
15.04 OS_CPU_C.C 15-9
15.05 OS_CPU_A.ASM 15-21
15.06 記憶體使用量 15-34
第16章 mC/OS-II參考手冊 16-1
第17章 mC/OS-II設定手冊 17-1
17.00 雜項設定 17-1
17.01 事件旗標 17-5
17.02 訊息郵箱 17-5
17.03 記憶體管理 17-6
17.04 互斥號誌 17-7
17.05 訊息佇列 17-7
17.06 號 誌 17-9
17.07 工作管理 17-9
17.08 時間管理 17-11
17.09 函數總整理 17-11
第18章 PC服務設定手冊 18-1
18.00 基於字元的顯示 18-1
18.01 保存和恢復DOS環境 18-5
18.02 佔用時間測量 18-7
18.03 多樣性 18-7
18.04 介面函數 18-8
18.05 參考書目 18-25
附錄A C語言編碼規則 A-1
A.1 文件標頭 A-2
A.2 Include 檔案 A-3
A.3 命名識別字 A-3
A.4 縮寫、簡寫、助憶符號 A-5
A.5 註 解 A-7
A.6 #defines A-9
A.7 資料型態 A-9
A.8 局部變數 A-10
A.9 函式原型 A-11
A.10 函式宣告 A-11
A.11 縮 排 A-13
A.12 區段與表示式 A-15
A.13 結構與一致 A-17
A.14 參考書目 A-17
附錄B mC/OS-II的授權政策 B-1
B.1 學院與大學 B-1
B.2 商業使用 B-1
附錄C mC/OS-II快速參考 C-1
附錄D TO公用程式 D-1
附錄E 參考書目 E-1
附錄F 本書所附CD F-1
F.1 檔案與目綠 F-3