嵌入式作業系統設計與實現

嵌入式作業系統設計與實現

《嵌入式作業系統設計與實現》是在本書是在《自己動手寫嵌入式作業系統》基礎上的的全面升級版,作者對自己親自在PC上開發的嵌入式作業系統的“HelloChina”進行全面的升級和改進,書中詳細地敘述自己動手寫嵌入式作業系統所需的各方面知識,如載入和初始化、Shell、執行緒的實現、記憶體管理機制、互斥和同步機制及中斷和定時機制的實現,以及設備驅動程式管理框架和套用編程接口等。

基本信息

內容簡介

嵌入式作業系統設計與實現

本書是《自己動手寫嵌入式作業系統》的全面升級版,作者對自己親自在PC上開發的嵌入式作業系統的“HelloChina”進行全面的升級和改進,書中詳細地敘述自己動手寫嵌入式作業系統所需的各方面知識,如載入和初始化、Shell、執行緒的實現、記憶體管理機制、互斥和同步機制及中斷和定時機制的實現,以及設備驅動程式管理框架和套用編程接口等。

本書中的每一個字都是作者辛勤勞動的結晶,本書所講到的嵌入式作業系統“HelloChina”更是作者親自實踐的成果,因此本書具有極高的實用性,對於嵌入式軟體開發工程師、套用軟體開發工程師均有很高的參考價值,對於大中院校的學生學習和理解作業系統及計算機原理也會有許多啟發,對於系統軟體愛好者更是一本不可多得的好書,因為它會使您得到完整而細緻的實踐過程。

目錄

第1章 概述 1

1.1 嵌入式系統概述 1

1.2 嵌入式作業系統概述 3

1.2.1 嵌入式作業系統的特點 3

1.2.2 嵌入式作業系統與通用作業系統的區別 4

1.2.3 嵌入式實時作業系統 6

1.3 作業系統的基本概念 6

1.3.1 微核心與大核心 7

1.3.2 進程、執行緒與任務 8

1.3.3 可搶占與不可搶占 9

1.3.4 同步機制 9

1.4 Hello China概述 10

1.4.1 Hello China的功能特點 11

1.4.2 Hello China的開發環境 12

1.4.3 面向對象思想的模擬 15

1.4.4 對象機制 17

1.4.5 Hello China V1.0版本的源檔案構成 18

1.4.6 Hello China V1.5版本的源檔案構成 20

1.4.7 Hello China的使用 21

1.5 實例:一個簡單的IP路由器的實現 22

1.5.1 概述 22

1.5.2 路由器的硬體結構 22

1.5.3 路由器的軟體功能 23

1.5.4 各任務的實現 25

第2章 Hello China的載入和初始化 28

2.1 常見嵌入式系統的啟動 28

2.1.1 典型嵌入式系統記憶體映射布局 28

2.1.2 嵌入式系統的啟動概述 29

2.1.3 常見嵌入式作業系統的載入方式 29

2.1.4 嵌入式系統軟體的寫入 34

2.2 Hello China在PC上的啟動 36

2.2.1 PC啟動過程概述 36

2.2.2 Hello China的引導過程 38

2.2.3 實地址模式下的初始化 42

2.2.4 保護模式下的初始化 46

2.2.5 作業系統核心功能的初始化 49

第3章 Hello China的Shell 57

3.1 Shell的啟動和初始化 57

3.2 Shell的訊息處理過程 58

3.3 內部命令的處理過程 62

3.4 外部命令的處理過程 64

第4章 Hello China的執行緒 68

4.1 執行緒概述 68

4.1.1 進程、執行緒和任務 68

4.2 Hello China V1.0版本的執行緒實現 69

4.2.1 核心執行緒管理對象 69

4.2.2 執行緒的狀態及其切換 74

4.2.3 核心執行緒對象 76

4.2.4 執行緒的上下文 79

4.2.5 執行緒的優先權與調度 84

4.2.6 執行緒的創建 86

4.2.7 執行緒的結束 92

4.2.8 執行緒的訊息佇列 95

4.2.9 執行緒的切換——中斷上下文 98

4.2.10 執行緒的切換——系統調用上下文 107

4.2.11 上下文保存和切換的底層函式 113

4.2.12 執行緒的睡眠與喚醒 116

4.3 V1.5版本中核心執行緒的實現 117

4.3.1 概述 117

4.3.2 核心執行緒調度時機 117

4.4 V1.5核心執行緒管理器(KernelThreadManager)的實現 118

4.4.1 V1.5核心執行緒佇列的實現 121

4.5 V1.5核心執行緒對象(Kernel ThreadObject)的實現 123

4.5.1 V1.5版本中硬體上下文的保存 125

4.5.2 執行緒的調度——中斷上下文 129

4.5.3 執行緒的調度——程式上下文 132

4.5.4 核心執行緒的創建和初始化 137

4.5.5 中斷處理程式結束後的執行緒調度 143

第5章 Hello China的記憶體管理機制 146

……

第6章 執行緒本地堆的實現 203

第7章 互斥和同步機制的實現 227

第8章 中斷和定時處理機制的實現 250

第9章 系統匯流排管理 278

第10章 驅動程式管理框架 311

第11章 核心執行緒CPU占用率統計功能 363

第12章 系統核心HOOK機制的實現 384

第13章 串口互動程式及其實現 397

第14章 套用編程接口與示例 431

第15章 Hello China的套用開發方法 461

附錄A 如何搭建一個基於Windows的作業系統開發平台 467

附錄B 一種代碼執行時間測量方法的實現 488

附錄C 64bit整型數據類型的實現 494

附錄D IOCTRL控制程式使用介紹及實例 501

附錄E 如何快速掌握彙編語言 510

附錄F 原始碼使用說明 515

附錄G優先佇列(Priority Queue)和環形緩衝區(RING BUFFER)的實現 518

……

相關詞條

相關搜尋

熱門詞條

聯絡我們