《嵌入式实时作业系统的多执行绪计算》是2005年北京航空航天大学出版社出版的图书,作者是拉姆耶。
基本介绍
- 书名:嵌入式实时作业系统的多执行绪计算
- 作者:拉姆耶
- ISBN:9787810776295
- 页数:328
- 定价:46.00元
- 出版社:北京航空航天大学出版社
- 出版时间:2005-10
- 装帧:简装本
- 副标题:基于ThreadX和ARM
内容简介
本书介绍和分析了嵌入式系统的重要概念和套用设计方法,并提供了多个基于ARM平台的多执行绪套用实例。重点从实时、多执行绪、ThreadX和ARM处理器结合的角度进行展开,并用实际的案例分析将它们与套用相结合。读者可从中获得完成自己的套用所需的所有细节,包括ARM处理器的概况和ThreadX实时作业系统(RTOS)所提供的所有服务。
编辑推荐
本书面向高校计算机专业师生、嵌入式套用的中高级设计开发人员、实时系统的套用与研究人员,也可作为高校计算机及相关专业的嵌入式课程教材。
目录
第1章 嵌入式实时作业系统1
1.1 介绍1
1.2 何谓嵌入式系统1
1.3 嵌入式系统的特徵2
1.4 实时系统2
1.5 实时作业系统和实时核心2
1.6 进程、任务和执行绪3
1.7 实时系统的系统结构4
1.8 嵌入式系统的开发5
1.9 关键字和术语5
第2章 初步了解使用RTOS的系统7
2.1 操作环境7
2.2 ThreadX演示系统的安装7
2.3 包含两个执行绪的演示系统7
2.4 创建执行绪对象9
2.5 编译并执行示例系统11
2.6 系统和输出结果的分析11
2.7 02_sample_system.c代码清单12
2.8 关键字和术语17
2.9 问题18
第3章 RTOS概念和定义19
3.1 介绍19
3.2 优先权19
3.3 就绪执行绪和挂起执行绪20
3.4 占先,基于优先权的调度21
3.5 轮转调度21
3.6 确定性22
3.7 核心22
3.8 RTOS22
3.9 上下文切换23
3.10 时间片轮转23
3.11 中断处理23
3.12 执行绪饥饿23
3.13 优先权翻转24
3.14 优先权继承24
3.15 抢占阀值25
3.16 关键字和术语25
3.17 问题26
第4章 用于系统开发的基本RTOS组件27
4.1 介绍27
4.2 定义公共资源27
4.3 ThreadX 数据类型28
4.4 执行绪28
4.5 记忆体池29
4.6 套用定时器31
4.7 互斥量31
4.8 计数信号量32
4.9 事件标誌组33
4.10 讯息伫列33
4.11 执行绪同步和通信组件总结34
4.12 关键字和术语35
4.13 问题36
第5章 ARM微处理器简介37
5.1 介绍37
5.2 历史37
5.3 技术特徵38
5.3.1 兼容片上系统38
5.3.2 低功耗39
5.3.3 改进的代码密度39
5.3.4 多样化的暂存器39
5.3.5 CPSR的定义41
5.3.6 处理器模式42
5.4 ARM对节能的支持43
5.5 关键字和术语43
第6章 执行绪45
6.1 介绍45
6.2 执行绪控制块45
6.3 执行绪调用综述46
6.4 创建执行绪47
6.5 删除执行绪52
6.6 识别执行绪53
6.7 获取执行绪信息53
6.8 改变抢占门限54
6.9 改变优先权54
6.10 放弃执行55
6.11 恢複线程执行55
6.12 执行绪睡眠55
6.13 挂起执行绪56
6.14 中止执行绪56
6.15 改变时间片56
6.16 中止执行绪等待57
6.17 执行绪执行综述57
6.18 执行绪状态58
6.19 执行绪设计59
6.19.1 最小化执行绪的数量60
6.19.2 谨慎设定优先权60
6.19.3 最小化优先权的数目60
6.19.4 考虑使用抢占门限60
6.19.5 考虑优先权继承61
6.19.6 考虑轮转调度方式61
6.19.7 考虑时间片61
6.20 执行绪内部结构61
6.21 总结62
6.22 关键字和术语63
6.23 问题64
第7章 互斥量66
7.1 介绍66
7.2 保护临界区66
7.3 提供对共享资源的互斥访问67
7.4 互斥量控制块67
7.5 互斥量服务综述68
7.6 创建一个互斥量68
7.7 删除一个互斥量69
7.8 申请互斥量69
7.9 获取互斥量信息70
7.10 按优先权调整挂起伫列71
7.11 释放一个信号量71
7.12 避免死锁72
7.13 用互斥量保护临界区的示例程式73
7.14 示例程式的输出78
7.15 07_sample_system.c代码清单80
7.16 互斥量内部结构85
7.17 总结86
7.18 关键字和术语86
7.19 问题87
第8章 记忆体管理:位元组池和块池88
8.1 介绍88
8.2 记忆体位元组池概述88
8.3 记忆体位元组池控制块89
8.4 记忆体位元组池的缺陷90
8.5 记忆体位元组池服务概述91
8.6 创建记忆体位元组池91
8.7 从记忆体位元组池中分配记忆体92
8.8 删除记忆体位元组池92
8.9 获取记忆体位元组池信息93
8.10 优先排列记忆体位元组池挂起列表93
8.11 释放记忆体到记忆体位元组池94
8.12 记忆体位元组池例程——分配执行绪堆叠94
8.13 记忆体位元组池内部机制95
8.14 记忆体块池概述97
8.15 记忆体块池控制块98
8.16 记忆体块池服务概述98
8.17 创建记忆体块池99
8.18 从记忆体块池中分配记忆体100
8.19 删除记忆体块池100
8.20 获取记忆体块池信息101
8.21 优先排列记忆体块池挂起列表102
8.22 释放记忆体块102
8.23 记忆体块池例程——分配执行绪堆叠103
8.24 记忆体块池内部机制104
8.25 总结和对比104
8.26 关键字和术语105
8.27 问题105
第9章 内部系统时钟和套用定时器107
9.1 介绍107
9.2 内部系统时钟服务108
9.3 套用定时器控制块109
9.4 套用定时器服务概述110
9.5 创建套用定时器110
9.6 启动套用定时器111
9.7 修改套用定时器112
9.8 停止套用定时器112
9.9 删除套用定时器113
9.10 获取套用定时器信息113
9.11 使用定时器测量执行绪性能的例程114
9.12 09_sample_system.c代码清单117
9.13 套用定时器内部机制123
9.14 总结124
9.15 关键字和术语124
9.16 问题125
第10章 事件通知和利用信号量同步执行绪127
10.1 介绍127
10.2 计数信号量控制块128
10.3 避免死锁129
10.4 防止优先权倒置129
10.5 信号量服务综述129
10.6 创建一个信号量129
10.7 删除一个信号量130
10.8 从信号量申请一个实例131
10.9 获取信号量的信息131
10.10 按优先权调整信号量的挂起伫列132
10.11 向信号量放入一个实例132
10.12 对比信号量和互斥量133
10.13 使用二进制信号量代替互斥量的示例程式134
10.14 10a_sample_system.c代码清单135
10.15 在生产者—消费者程式中使用信号量的例子142
10.16 10b_sample_system.c代码清单144
10.17 信号量内部结构150
10.18 总结151
10.19 关键字和术语151
10.20 问题152
第11章 用事件标誌组同步执行绪153
11.1 介绍153
11.2 事件标誌组控制块154
11.3 事件标誌组服务综述155
11.4 创建一个组155
11.5 删除一个组156
11.6 等待组中的标誌被置位156
11.7 获取组的信息159
11.8 设定组中的事件标誌159
11.9 使用事件标誌组同步两个执行绪的示例系统161
11.10 11_sample_system.c代码清单164
11.11 事件标誌组内部结构170
11.12 总结171
11.13 关键字和术语171
11.14 问题172
第12章 使用讯息伫列进行执行绪通信173
12.1 介绍173
12.2 讯息伫列控制块174
12.3 讯息伫列服务函式的概要175
12.4 创建讯息伫列176
12.5 向讯息伫列传送讯息176
12.6 从讯息伫列中获取讯息177
12.7 删除讯息伫列178
12.8 清除讯息伫列中的内容178
12.9 向讯息伫列头髮送讯息179
12.10 检索讯息伫列信息179
12.11 将讯息伫列挂起列表以优先顺序排列180
12.12 使用讯息伫列作为执行绪间通信的示例系统181
12.13 12_sample_system.c代码清单184
12.14 讯息伫列的内部190
12.15 总结191
12.16 关键字和术语192
12.17 问题192
第13章 ARM异常处理193
13.1 介绍193
13.2 ThreadX对ARM异常处理的实现194
13.2.1 复位向量的初始化194
13.2.2 执行绪的调度196
13.2.3 ThreadX中断处理199
13.2.4 内部中断处理201
13.3 关键字和术语203
第14章 案例分析:设计一个多执行绪系统204
14.1 介绍204
14.2 问题的描述205
14.3 问题的分析207
14.4 系统的设计209
14.4.1 执行绪设计209
14.4.2 公共资源设计210
14.5 实现213
14.6 VAM System代码清单226
14.7 总结237
附录239
附录A 记忆体块池服务241
附录B 记忆体位元组池服务249
附录C 事件标誌组服务257
附录D 中断控制服务265
附录E 互斥量服务267
附录F 讯息伫列服务函式275
附录G 信号量服务287
附录H 执行绪服务295
附录I 内部系统时钟服务313
附录J 套用定时器服务315
附录K ThreadX API323