顶部
收藏

嵌入式操作系统


作者:
廖勇 杨霞
定价:
38.20 元
版面字数:
460千字
开本:
16开
装帧形式:
平装
版次:
1
最新版次
印刷时间:
2017年
ISBN:
978-7-04-046607-2
物料号:
46607-00
出版时间:
2017-01-16
读者对象:
高等教育
一级分类:
计算机/教育技术类
二级分类:
计算机科学与技术专业课程

本书主要介绍嵌入式操作系统内核的工作原理和设计思路。以开源嵌入式操作系统μC/OS II 为例,深入剖析其在嵌入式平台ARM9 Mini2440(处理器为三星S3C2440A)上的实现,重点描述内核基本调度机制、调度策略、任务协调机制(通信、同步、互斥等)、事务处理机制(中断、时钟等)、内存管理机制的设计和实现,并对嵌入式操作系统在不同嵌入式硬件平台上的移植等进行介绍。在此基础上,介绍实时调度理论、可信保障理论以及基于嵌入式操作系统的应用程序开发方法等内容。

本书可作为计算机及相关专业嵌入式系统方向高年级本科生的必修课教材,也可作为相关专业的选修课教材,同时可作为对嵌入式操作系统有浓厚兴趣的读者的参考资料。

  • 目录
    • 前辅文
      • 第1章 嵌入式操作系统概述
        • 1.1 什么是嵌入式操作系统
          • 1.2 嵌入式操作系统的特点
            • 1.3 嵌入式操作系统的主要功能
              • 1.4 嵌入式操作系统的体系结构
                • 1.4.1 单块结构
                  • 1.4.2 层次结构
                    • 1.4.3 微内核结构
                      • 1.4.4 构件化结构
                        • 1.4.5 其他体系结构
                        • 1.5 嵌入式操作系统的应用领域
                          • 1.6 典型嵌入式操作系统
                            • 1.6.1 VxWorks
                              • 1.6.2 QNX
                                • 1.6.3 Windows CE
                                  • 1.6.4 Embedded Linux
                                    • 1.6.5 Android
                                      • 1.6.6 iOS
                                        • 1.6.7 Symbian OS
                                          • 1.6.8 TinyOS
                                            • 1.6.9 μC/OS
                                            • 1.7 嵌入式操作系统的发展趋势
                                              • 习题
                                              • 第2章 任务调度机制
                                                • 2.1 任务相关基本概念
                                                  • 2.2 任务描述
                                                    • 2.3 创建任务
                                                      • 2.3.1 临界段代码保护
                                                        • 2.3.2 堆栈初始化
                                                          • 2.3.3 TCB 初始化
                                                            • 2.3.4 将新创建的任务挂载到就绪队列
                                                              • 2.3.5 调用OS_Sched()
                                                                • 2.3.6 创建任务扩展
                                                                  • 2.3.7 编写任务函数
                                                                  • 2.4 调度任务
                                                                    • 2.4.1 调度前的准备
                                                                      • 2.4.2 找到最高优先级任务
                                                                        • 2.4.3 任务切换
                                                                        • 2.5 其他基本调度机制
                                                                          • 2.5.1 挂起任务
                                                                            • 2.5.2 恢复任务
                                                                              • 2.5.3 删除任务
                                                                                • 2.5.4 改变任务优先级
                                                                                  • 2.5.5 堆栈检查
                                                                                    • 2.5.6 请求删除任务
                                                                                      • 2.5.7 获取任务信息
                                                                                      • 2.6 协调机制
                                                                                        • 2.7 内存管理机制
                                                                                          • 2.8 事务处理机制
                                                                                            • 习题
                                                                                            • 第3章 任务调度策略
                                                                                              • 3.1 任务调度策略的基本概念
                                                                                                • 3.2 任务调度策略
                                                                                                  • 3.2.1 典型实时调度策略
                                                                                                    • 3.2.2 基于公平策略的时间片轮转调度
                                                                                                      • 3.2.3 基于优先级的抢占式调度
                                                                                                        • 3.2.4 RM 调度算法
                                                                                                          • 3.2.5 EDF 调度算法
                                                                                                          • 3.3 优先级反转及解决办法
                                                                                                            • 3.3.1 优先级继承
                                                                                                              • 3.3.2 优先级天花板
                                                                                                              • 3.4 提高系统实时性的其他措施
                                                                                                                • 3.4.1 评价RTOS 的性能指标
                                                                                                                  • 3.4.2 提高实时任务响应性的措施
                                                                                                                  • 3.5 多核/处理器调度
                                                                                                                    • 3.5.1 多核/处理器技术
                                                                                                                      • 3.5.2 多核/处理器调度策略
                                                                                                                      • 习题
                                                                                                                      • 第4章 任务的同步与通信
                                                                                                                        • 4.1 任务之间的同步与互斥关系
                                                                                                                          • 4.1.1 任务之间同步的概念
                                                                                                                            • 4.1.2 任务之间互斥的概念
                                                                                                                            • 4.2 任务之间的通信
                                                                                                                              • 4.2.1 ECB 数据结构
                                                                                                                                • 4.2.2 ECB 初始化
                                                                                                                                  • 4.2.3 将一个任务挂载到就绪队列
                                                                                                                                    • 4.2.4 将一个任务加入事件的等待队列
                                                                                                                                      • 4.2.5 使等待超时的任务进入就绪状态
                                                                                                                                      • 4.3 信号量机制
                                                                                                                                        • 4.3.1 信号量的类型
                                                                                                                                          • 4.3.2 创建信号量
                                                                                                                                            • 4.3.3 删除信号量
                                                                                                                                              • 4.3.4 获取信号量
                                                                                                                                                • 4.3.5 释放信号量
                                                                                                                                                  • 4.3.6 无等待地请求一个信号量
                                                                                                                                                    • 4.3.7 查询信号量的当前状态
                                                                                                                                                      • 4.3.8 重置信号量的值
                                                                                                                                                        • 4.3.9 使用互斥信号量可能出现的问题
                                                                                                                                                        • 4.4 互斥锁
                                                                                                                                                          • 4.4.1 创建互斥锁
                                                                                                                                                            • 4.4.2 删除互斥锁
                                                                                                                                                              • 4.4.3 等待获取互斥锁
                                                                                                                                                                • 4.4.4 释放互斥锁
                                                                                                                                                                  • 4.4.5 查询互斥锁的状态
                                                                                                                                                                    • 4.4.6 无等待地获取互斥锁
                                                                                                                                                                    • 4.5 邮箱机制
                                                                                                                                                                      • 4.5.1 邮箱机制概述
                                                                                                                                                                        • 4.5.2 建立一个邮箱
                                                                                                                                                                          • 4.5.3 删除邮箱
                                                                                                                                                                            • 4.5.4 从邮箱中获取一条消息
                                                                                                                                                                              • 4.5.5 发送一个消息到邮箱
                                                                                                                                                                                • 4.5.6 无等待地从邮箱中得到一个消息
                                                                                                                                                                                  • 4.5.7 查询一个邮箱的状态
                                                                                                                                                                                  • 4.6 消息队列
                                                                                                                                                                                    • 4.6.1 消息队列概述
                                                                                                                                                                                      • 4.6.2 消息队列初始化
                                                                                                                                                                                        • 4.6.3 建立消息队列
                                                                                                                                                                                          • 4.6.4 删除消息队列
                                                                                                                                                                                            • 4.6.5 从消息队列中获取一条消息
                                                                                                                                                                                              • 4.6.6 以FIFO 方式向消息队列发送一条消息
                                                                                                                                                                                                • 4.6.7 以LIFO 方式向消息队列发送一条消息
                                                                                                                                                                                                • 习题
                                                                                                                                                                                                • 第5章 中断和时间管理
                                                                                                                                                                                                  • 5.1 中断的概念
                                                                                                                                                                                                    • 5.1.1 中断作为任务切换
                                                                                                                                                                                                      • 5.1.2 中断作为系统调用
                                                                                                                                                                                                        • 5.1.3 中断作为前台任务
                                                                                                                                                                                                        • 5.2 ARM 的中断机制
                                                                                                                                                                                                          • 5.3 一个简单的S3C2440 中断服务程序的实现
                                                                                                                                                                                                            • 5.3.1 中断返回
                                                                                                                                                                                                              • 5.3.2 中断注册
                                                                                                                                                                                                                • 5.3.3 状态保存和现场恢复
                                                                                                                                                                                                                • 5.4 一个前后台系统的实现
                                                                                                                                                                                                                  • 5.4.1 启动S3C2440
                                                                                                                                                                                                                    • 5.4.2 后台主循环
                                                                                                                                                                                                                      • 5.4.3 前台中断处理
                                                                                                                                                                                                                      • 5.5 μC/OS II 的中断管理机制
                                                                                                                                                                                                                        • 5.5.1 中断的发生及响应
                                                                                                                                                                                                                          • 5.5.2 中断返回
                                                                                                                                                                                                                            • 5.5.3 中断初始化
                                                                                                                                                                                                                            • 5.6 一个开源RTOS 的中断管理机制
                                                                                                                                                                                                                              • 5.6.1 中断的发生及响应
                                                                                                                                                                                                                                • 5.6.2 中断返回
                                                                                                                                                                                                                                  • 5.6.3 中断子系统结构
                                                                                                                                                                                                                                    • 5.6.4 中断初始化
                                                                                                                                                                                                                                    • 5.7 时间管理
                                                                                                                                                                                                                                      • 5.7.1 时钟中断
                                                                                                                                                                                                                                        • 5.7.2 时钟服务
                                                                                                                                                                                                                                        • 习题
                                                                                                                                                                                                                                        • 第6章 内存管理、I/O 管理和文件系统
                                                                                                                                                                                                                                          • 6.1 内存管理
                                                                                                                                                                                                                                            • 6.1.1 RTOS 中内存管理的概念
                                                                                                                                                                                                                                              • 6.1.2 RTOS 中内存管理的机制与方法
                                                                                                                                                                                                                                                • 6.1.3 RTOS 中内存管理的实现
                                                                                                                                                                                                                                                • 6.2 设备管理
                                                                                                                                                                                                                                                  • 6.2.1 通用操作系统的设备管理框架
                                                                                                                                                                                                                                                    • 6.2.2 RTOS 的I/O 管理框架
                                                                                                                                                                                                                                                      • 6.2.3 VxWorks 的I/O 管理
                                                                                                                                                                                                                                                      • 6.3 嵌入式文件系统
                                                                                                                                                                                                                                                        • 6.3.1 嵌入式文件系统概述
                                                                                                                                                                                                                                                          • 6.3.2 嵌入式Linux 的文件系统
                                                                                                                                                                                                                                                          • 习题
                                                                                                                                                                                                                                                          • 第7章 嵌入式操作系统移植
                                                                                                                                                                                                                                                            • 7.1 移植的软硬件环境
                                                                                                                                                                                                                                                              • 7.1.1 开发板UT-S5PV210
                                                                                                                                                                                                                                                                • 7.1.2 开发环境RVDS 4.0
                                                                                                                                                                                                                                                                • 7.2 RVDS 4.0 开发环境的使用
                                                                                                                                                                                                                                                                  • 7.2.1 启动RVDS 4.0 开发环境
                                                                                                                                                                                                                                                                    • 7.2.2 新建项目
                                                                                                                                                                                                                                                                      • 7.2.3 配置RVDS 4.0
                                                                                                                                                                                                                                                                        • 7.2.4 start.s、main.c 的生成与编译
                                                                                                                                                                                                                                                                          • 7.2.5 编译、下载uart
                                                                                                                                                                                                                                                                          • 7.3 将μC/OSⅡ移植到UT-S5PV210开发板
                                                                                                                                                                                                                                                                            • 7.3.1 移植步骤
                                                                                                                                                                                                                                                                              • 7.3.2 获取μC/OSⅡ源代码
                                                                                                                                                                                                                                                                                • 7.3.3 μC/OSⅡ源代码目录结构
                                                                                                                                                                                                                                                                                  • 7.3.4 μC/OSⅡ硬件/软件体系结构
                                                                                                                                                                                                                                                                                    • 7.3.5 os_cpu.h
                                                                                                                                                                                                                                                                                      • 7.3.6 os_cpu_c.c
                                                                                                                                                                                                                                                                                        • 7.3.7 os_cpu_a.s
                                                                                                                                                                                                                                                                                          • 7.3.8 时钟中断
                                                                                                                                                                                                                                                                                            • 7.3.9 应用配置
                                                                                                                                                                                                                                                                                              • 7.3.10 其他硬件相关功能的移植
                                                                                                                                                                                                                                                                                              • 7.4 移植成功的验证
                                                                                                                                                                                                                                                                                                • 7.4.1 编写验证程序
                                                                                                                                                                                                                                                                                                  • 7.4.2 编译μC/OSⅡ
                                                                                                                                                                                                                                                                                                    • 7.4.3 执行μC/OS II
                                                                                                                                                                                                                                                                                                    • 7.5 移植中需要注意的问题
                                                                                                                                                                                                                                                                                                      • 7.5.1 验证移植的正确性
                                                                                                                                                                                                                                                                                                        • 7.5.2 移植过程建议
                                                                                                                                                                                                                                                                                                        • 习题
                                                                                                                                                                                                                                                                                                        • 第8章 嵌入式软件开发
                                                                                                                                                                                                                                                                                                          • 8.1 嵌入式软件开发概述
                                                                                                                                                                                                                                                                                                            • 8.2 嵌入式应用软件开发过程
                                                                                                                                                                                                                                                                                                              • 8.3 交叉开发环境
                                                                                                                                                                                                                                                                                                                • 8.3.1 交叉开发环境概述
                                                                                                                                                                                                                                                                                                                  • 8.3.2 交叉编译
                                                                                                                                                                                                                                                                                                                    • 8.3.3 交叉调试
                                                                                                                                                                                                                                                                                                                      • 8.3.4 常用的嵌入式软件集成开发环境
                                                                                                                                                                                                                                                                                                                      • 习题
                                                                                                                                                                                                                                                                                                                      • 第9章 高可信的嵌入式操作系统
                                                                                                                                                                                                                                                                                                                        • 9.1 可信计算概述
                                                                                                                                                                                                                                                                                                                          • 9.1.1 可信计算的定义
                                                                                                                                                                                                                                                                                                                            • 9.1.2 国外流行的可信计算标准
                                                                                                                                                                                                                                                                                                                              • 9.1.3 国内的可信计算标准
                                                                                                                                                                                                                                                                                                                                • 9.1.4 可信计算的发展历史和现状
                                                                                                                                                                                                                                                                                                                                • 9.2 嵌入式可信操作系统
                                                                                                                                                                                                                                                                                                                                  • 9.2.1 嵌入式可信操作系统的概念
                                                                                                                                                                                                                                                                                                                                    • 9.2.2 安全操作系统的发展历史和现状
                                                                                                                                                                                                                                                                                                                                      • 9.2.3 嵌入式可信操作系统研究现状及急需解决的问题
                                                                                                                                                                                                                                                                                                                                      • 9.3 嵌入式可信操作系统的实现技术和方法
                                                                                                                                                                                                                                                                                                                                        • 9.3.1 基于时空隔离思想的可信操作系统实现方法
                                                                                                                                                                                                                                                                                                                                          • 9.3.2 强制访问控制技术
                                                                                                                                                                                                                                                                                                                                          • 习题
                                                                                                                                                                                                                                                                                                                                          • 参考文献

                                                                                                                                                                                                                                                                                                                                          相关图书