即時嵌入式系統 μc/ os-II
內容描述
<本書特色>
‧根據嵌入式系統的開發特點,增設一門以介紹即時系統、交叉編譯及代碼優化等與嵌入式系統軟件開發技術方面為主的課程。‧改變計算機操作系統課程。
<本書簡介>
μC/OS–II是一種小型的嵌入式作業系統,只提供了任務管理、任務的通訊同步和簡單的儲存管理三項基本服務。其為一個微內核,只對電腦的處理器和硬體時鐘進行了抽象和封裝,而沒有提供其他的硬體外接部份。 主要原因是μC/OS–II的開發者認為,做為一個嵌入式系統,在不同的應用中,主物件具有差異極大的硬體結構,它們的硬體部分只能由硬體供應商或者是目標系統的開發者提供或者開發。而做為嵌入式作業系統的開發者是沒有辦法,也沒有必要提供所有的硬體外接部份。 由於μC/OS–II是植基於優先順序的可內核,系統中的所有任務都有一個並且唯一的優先順序別,適合應用在即時性要求較強的場合。此外,μC/OS–II的另一個特點是它區分用戶空間和系統空間,所以也很適合在比較簡單的處理器上應用。本書將介紹操作系統與任務管理、任務同步通訊、儲存管理以及相關問題,並解說與ARM的應用程序實例,極具實用與參考價值。
<總校閱簡介>
温坤禮 學歷國立中央大學機械工程研究所系統組博士經歷建國工商專校電機科主任建國工商專校機電光中心主任中華民國灰色學會理事中華民國灰色學會常務理事中華民國灰色學會秘書長台灣感性資訊學會秘書長現職建國科技大學教授(灰色系統分析研究室)台灣灰色系統學會秘書長計量管理期刊理事
<本書目次>
第1章 作業系統的基本概念1.1 電腦作業系統1.1.1 什麼是電腦作業系統1.1.2 作業系統的功能1.1.3 作業系統的服務和用戶介面1.2 作業系統的內核是由中斷驅動的1.2.1 中斷和中斷處理1.2.2 系統時鐘的實現1.3 進程和線程的基本概念1.3.1 進程1.3.2 進程的結構1.3.3 線程的基本概念1.4 進程管理1.4.1 進程(線程)調度1.4.2 進程(線程)的同步與通信1.4.3 進程的其他管理1.5 存儲管理1.5.1 電腦記憶體的層次1.5.2 存儲空間的段頁式分區1.5.3 虛擬記憶體的概念1.6 I/O與設備管理1.6.1 I/O設備及其抽象1.6.2 作業系統的設備無關性1.6.3 作業系統對設備的管理1.7 文件管理1.7.1 檔、檔結構和檔系統1.7.2 文件的管理1.8 宏內核與微內核1.8.1 內核1.8.2 宏內核與微內核1.9 作業系統的分類1.9.1 單用戶作業系統1.9.2 批次處理作業系統1.9.3 分時作業系統1.9.4 即時操作系統1.10 作業系統的Shell1.11 作業系統的引導和裝入第2章 即時操作系統的基本概念2.1 即時系統及其特點2.1.1 什麼是即時系統2.1.2 即時系統的特點2.2 電腦即時操作系統2.2.1 即時操作系統2.2.2 關於內核的可剝奪性2.2.3 即時調度2.2.4 即時進程的可調度性2.2.5 即時系統的時鐘2.2.6 即時系統的存儲管理2.2.7 即時系統與普通系統的比較第3章 嵌入式系統和嵌入式即時操作系統3.1 嵌入式系統的基本概念3.1.1 什麼是嵌入式系統3.1.2 嵌入式系統的發展歷程3.1.3 嵌入式系統的特點3.2 嵌入式即時操作系統3.2.1 什麼是嵌入式即時操作系統3.2.2 微內核3.2.3 嵌入式即時操作系統的可剪裁性及其實現3.3 常見的嵌入式即時操作系統簡介3.3.1 常見源碼開放的嵌入式作業系統3.3.2 常見的商業嵌入式作業系統第4章 嵌入式即時操作系統μC/OS–II及其任務4.1 μC/OS–II概述4.1.1 μC/OS–II的特點4.1.2 μC/OS–II的檔結構4.1.3 μC/OS–II可剪裁性的實現4.2 μC/OS–II的任務4.3 μC/OS–II任務的存儲結構4.4 μC/OS–II任務的狀態4.5 μC/OS_II任務的優先順序別4.6 任務控制塊4.6.1 任務控制塊的結構4.6.2 任務控制塊鏈表4.7 任務堆疊4.7.1 任務堆疊的創建4.7.2 任務堆疊的初始化4.8 系統任務4.8.1 空閒任務4.8.2 統計任務4.9 臨界區第5章μC/OS–II的任務管理5.1 就緒任務的管理5.1.1 就緒任務表的結構5.1.2 就緒任務表的操作5.2 任務的創建5.2.1 用函數OSTaskCreate( )創建任務5.2.2 用函數OSTaskCreateExt( )創建任務5.2.3 創建任務的一般方法5.3 任務的掛起和恢復5.3.1 掛起任務5.3.2 恢復任務5.4 其他任務管理函數5.4.1 任務優先級別的修改5.4.2 任務的刪除5.4.3 查詢任務的資訊第6章 μC/OS-II的任務調度6.1 調度器OSSched( )的任務調度部分6.2 調度器OSSched( ) 的任務切換部分6.2.1 任務中斷點的保存6.2.2 任務的切換6.3 調度的時機第7章 μC/OS-II的初始化和啟動7.1 μC/OS-II的初始化7.1.1 μC/OS-II需要初始化的資料結構及總體變數7.1.2 μC/OS-II的初始化7.2 μC/OS-II的啟動7.3 一個示例第8章 μC/OS-II的中斷與時鐘8.1 μC/OS-II的中斷8.1.1 μC/OS-II的中斷過程8.1.2 中斷級任務切換函數8.1.3 臨界段的處理8.2 μC/OS-II的時鐘8.3 μC/OS-II的時間管理8.3.1 任務的延時8.3.2 取消任務的延時8.3.3 獲取和設置系統時間第9章 任務的同步與通信9.1 任務間的同步和事件控制塊9.1.1 任務間的同步9.1.2 事件9.1.3 事件控制塊9.2 信號量及其操作9.2.1 信號量9.2.2 信號量的操作9.3 任務優先順序反轉和互斥型信號量9.3.1 任務優先順序的反轉現象9.3.2 互斥型信號量9.4 消息郵箱及其操作9.4.1 消息郵箱9.4.2 消息郵箱的操作9.5 消息佇列及其操作9.5.1 消息佇列9.5.2 消息佇列的操作第10章 信號量集10.1 信號量集的結構10.1.1 信號量集的標誌組10.1.2 等待任務鏈表10.1.3 對等待任務鏈表的操作10.2 信號量集的操作10.2.1 創建信號量集10.2.2 請求信號量集10.2.3 向信號量集發信號10.2.4 查詢信號量集的狀態第11章 μC/OS-II的記憶體管理11.1 記憶體控制塊11.1.1 記憶體的劃分11.1.2 記憶體控制塊OS_MEM的結構11.1.3 空記憶體控制塊鏈表11.2 記憶體的管理11.2.1 創建記憶體分區11.2.2 請求獲得一個記憶體塊11.2.3 釋放一個記憶體塊11.2.4 查詢一個記憶體分區的狀態第12章 關於μC/OS-II的其他問題12.1 關於μC/OS-II的幾個問題12.1.1 μC/OS-II只是一個微內核12.1.2 關於μC/OS-II的Shell 12.2 μC/OS-II在PC機上的測試台12.3 μC/OS-II在PC機上的移植12.3.1 任務切換函數OSCtxSw( )12.3.2 任務切換宏OS_TASK_SW( )12.3.3 中斷級任務切換函數OSIntCtxSw( )12.3.4 PC中Dos的系統時鐘12.3.5 PC中μC/OS-II的系統時鐘12.3.6 μC/OS-II系統時鐘中斷服務程式12.3.7 在任務中安裝μC/OS-II系統時鐘的中斷向量12.3.8 在任務中由μC/OS-II返回Dos環境第13章 基於ARM的μC/OS-II13.1 移植規劃13.1.1 編譯器的選擇13.1.2 ARM7工作模式的選擇13.2 移植13.2.1 文件OS_CPU.H的編寫13.2.2 文件OS_CPU_C.C的編寫13.2.3 文件OS_CPU_A.S的編寫13.2.4 關於中斷及時鐘節拍13.3 移植μC/OS-II到LPC200013.3.1 掛接SWI軟體中斷13.3.2 中斷及時鐘節拍中斷13.3.3 一個基於μC/OS-II和ARM的應用程式實例