OneOS內核基礎入門

張英輝,李蒙,劉軍,許睿 著

  • 出版商: 北京航空航天大學
  • 出版日期: 2022-05-01
  • 定價: $534
  • 售價: 7.5$401
  • 語言: 簡體中文
  • 頁數: 420
  • 裝訂: 平裝
  • ISBN: 7512437595
  • ISBN-13: 9787512437593
  • 相關分類: 嵌入式系統
  • 立即出貨 (庫存 < 3)

商品描述

本書是中國移動物聯網操作系統OneOS開發系列叢書之一,側重於內核實現原理和內核應用。
全書包含21章,詳細介紹OneOS內核的相關知識,包括OneOS框架以及其OneOS核心技術——構建工程、
任務管理和任務調度、系統配置、時間管理、隊列、信號量、定時器、事件以及內存管理等。
所有源碼都配有詳細的註釋,且經過嚴格的審核測試,同時, 本書配有大量的圖例,
對於想要深入學習 RTOS類系統原理的人來說是一個不錯的選擇。

目錄大綱

第1章OneOS簡介2
1.1初識OneOS2
1.1.1什麼是OneOS2
1.1.2為什麼選擇OneOS5
1.1.3OneOS特點6
1.2磨刀不誤砍柴工7
1.2.1資料查找7
1.2.2CortexM架構資料8
1.3OneOS源碼初探8
1.3.1OneOS源碼下載8
1.3.2OneOS文件預覽8
第2章OneOS搭建開發環境11
2.1OneOSCube介紹11
2.2構造項目工程12
內核基礎
第3章OneOS自動初始化機制16
3.1OneOS自動初始化機制意義16
3.2OneOS自動初始化機制原理17
第4章OneOS中斷和臨界段詳解22
4.1CortexM和OneOS中斷22
4.1.1CortexM中斷22
4.1.2CortexM中斷管理22
4.1.3CortexM優先級分組定義24
4.1.4CortexM優先級設置26
4.1.5CortexM用於中斷屏蔽的特殊寄存器27
4.2OneOS中斷實驗28
4.2.1功能設計28
4.2.2軟件設計30
4.2.3下載驗證32
OneOS內核基礎入門
第5章OneOS任務基礎知識33
5.1什麼是多任務系統33
5.2任務調度管理實現35
5.2.1任務管理35
5.2.2任務狀態36
5.2.3任務優先級38
5.2.4任務實現38
5.2.5任務控制塊39
5.2.6任務堆棧40
第6章OneOS任務相關API函數42
6.1任務創建和刪除API函數42
6.2動態創建與刪除任務實驗44
6.2.1功能設計44
6.2.2軟件設計45
6.2.3下載驗證47
6.3靜態創建與刪除任務實驗48
6.3.1功能設計48
6.3.2軟件設計48
6.3.3下載驗證50
6.4任務掛起和恢復API函數50
6.5掛起和恢復任務實驗51
6.5.1功能設計51
6.5.2軟件設計52
6.5.3下載驗證55
第7章其他API函數56
7.1任務相關的API函數56
7.1.1概述56
7.1.2任務相關API函數詳解57
7.2任務狀態查詢API函數實驗66
7.2.1功能設計66
7.2.2軟件設計66
7.2.3下載驗證69
7.3時間片調度69
7.4OneOS時間片調度實驗72
7.4.1功能設計72
7.4.2軟件設計72
7.4.3下載驗證74
第8章OneOS單項鍊表和雙向鍊錶76
8.1鍊錶76
8.2單向鍊錶76
8.2.1單向鍊錶的簡介76
8.2.2單向鍊錶的初始化77
8.2.3單向鍊錶的鍊錶項插入78
8.2.4單向鍊錶的鍊錶項尾部插入79
8.2.5單向鍊錶的鍊錶項刪除80
8.2.6單向鍊錶的遍歷81
8.2.7其他單向鍊錶API函數81
8.3雙向鍊錶86
8.3.1雙向鍊錶的簡介86
8.3.2雙向鍊錶的初始化86
8.3.3雙向鍊錶的鍊錶項插入87
8.3.4雙向鍊錶的鍊錶項尾部插入88
8.3.5雙向鍊錶的鍊錶項刪除89
8.3.6雙向鍊錶的遍歷90
8.3.7其他雙向鍊錶API函數91
8.4單向鍊錶實驗97
8.4.1功能設計97
8.4.2軟件設計97
8.4.3下載驗證101
8.5雙向鍊錶實驗101
8.5.1功能設計101
8.5.2軟件設計102
8.5.3下載驗證105
第9章任務調度原理詳解106
9.1任務調度開始過程分析106
9.1.1任務調度器初始化分析106
9.1.2啟動第一個任務107
9.1.3查找下一個要運行的任務113
9.1.4系統任務詳解115
9.2任務創建過程分析118
9.3任務刪除過程分析124
9.4任務掛起過程分析126
9.5任務恢復過程分析129
第10章OneOS系統內核控制函數131
10.1內核控制函數預覽131
10.2內核控制函數詳解132
第11章OneOS時間管理140
11.1OneOS延時函數140
11.1.1函數os_task_tsleep()140
11.1.2函數os_task_msleep()141
11.2OneOS系統時鐘節拍142
11.3任務睡眠時間處理145
通信機制
第12章OneOS信號量149
12.1信號量簡介149
12.2信號量原理詳解150
12.2.1信號量結構體152
12.2.2創建信號量153
12.2.3信號量創建過程分析153
12.2.4釋放信號量156
12.2.5獲取信號量157
12.2.6信號量其他API函數159
12.2.7信號量配置160
12.3信號量操作實驗161
12.3.1功能設計161
12.3.2軟件設計161
12.3.3下載驗證163
12.4優先級翻轉163
12.5優先級翻轉實驗165
12.5.1功能設計165
12.5.2軟件設計165
12.5.3下載驗證168
第13章OneOS互斥鎖170
13.1互斥鎖170
13.1.1互斥鎖結構體173
13.1.2互斥鎖創建與初始化174
13.1.3互斥鎖創建過程分析175
13.1.4釋放互斥鎖177
13.1.5獲取互斥鎖180
13.1.6互斥鎖其他API函數183
13.1.7互斥鎖配置185
13.2互斥鎖操作實驗185
13.2.1功能設計185
13.2.2軟件設計185
13.2.3下載驗證188
第14章OneOS消息隊列190
14.1消息隊列與API函數190
14.1.1消息隊列簡介190
14.1.2消息隊列結構體194
14.1.3消息隊列創建195
14.1.4向消息隊列發送消息200
14.1.5從消息隊列讀取消息205
14.1.6消息隊列其他API函數210
14.1.7消息隊列配置213
14.2消息隊列操作實驗213
14.2.1功能設計213
14.2.2軟件設計213
14.2.3下載驗證216
第15章OneOS工作隊列217
15.1工作隊列217
15.1.1工作隊列實現過程217
15.1.2工作隊列結構體218
15.1.3工作隊列的創建與初始化218
15.1.4工作隊列的提交225
15.1.5工作隊列的取消229
15.1.6工作隊列配置232
15.2工作隊列實驗233
15.2.1功能設計233
15.2.2軟件設計233
15.2.3下載驗證236
第16章OneOS自旋鎖237
16.1自旋鎖237
16.2自旋鎖原理237
16.2.1自旋鎖創建238
16.2.2獲取自旋鎖239
16.2.3釋放自旋鎖240
16.2.4自旋鎖配置選項242
16.3OneOS自旋鎖實驗242
16.3.1功能設計242
16.3.2軟件設計242
16.3.3下載驗證244
第17章OneOS事件245
17.1事件245
17.1.1事件原理246
17.1.2創建事件248
17.1.3發送事件251
17.1.4接收事件253
17.1.5事件其他API函數256
17.1.6事件配置選項257
17.2OneOS事件實驗258
17.2.1功能設計258
17.2.2軟件設計258
17.2.3下載驗證260
第18章OneOS定時器261
18.1定時器簡介261
18.1.1單次定時器和周期定時器261
18.1.2定時器原理詳解262
18.1.3定時器結構體詳解263
18.1.4創建定時器263
18.1.5啟動定時器266
18.1.6停止定時器266
18.1.7刪除定時器267
18.1.8定時器其他API函數詳解267
18.1.9定時器配置269
18.2OneOS定時器實驗269
18.2.1功能設計269
18.2.2軟件設計270
18.2.3下載驗證272
第19章OneOS原子操作273
19.1原子操作273
19.2原子操作API函數276
19.3原子操作實驗291
19.3.1功能設計291
19.3.2軟件設計291
19.3.3下載驗證29
第20章OneOS郵箱294
20.1郵箱簡介294
20.2郵箱API函數297
20.2.1郵箱創建297
20.2.2郵箱發送301
20.2.3郵箱接收303
20.2.4郵箱其他API函數306
20.2.5郵箱配置選項309
20.3郵箱實驗310
20.3.1功能設計310
20.3.2軟件設計310
20.3.3下載驗證312
內核管理
第21章OneOS內存管理314
21.1內存堆管理314
21.2Firstfit內存堆管理算法317
21.3Firstfit內存堆管理算法函數322
21.4Buddy內存堆管理算法338
21.5Buddy內存堆管理算法函數341
21.6OneOS內存堆357
21.7內存池管理376
21.8內存池管理函數378
21.9內存堆管理實驗389
21.9.1功能設計389
21.9.2軟件設計390
21.9.3下載驗證392
21.10內存池管理實驗393
21.10.1功能設計393
21.10.2軟件設計393
21.10.3下載驗證396
附錄萬耦天工STM32F103開發板397
參考文獻404