实时嵌入式系统
作者 : [美]王加存(Jiacun Wang) 著
译者 : 樊卫华 译
丛书名 : 计算机科学丛书
出版日期 : 2019-10-11
ISBN : 978-7-111-63733-2
定价 : 79.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 228
开本 : 16
原书名 : Real-Time Embedded Systems
原出版社: John Wiley & Sons(USA)
属性分类: 教材
包含CD : 无CD
绝版 :
图书简介

本书对实时嵌入式系统调度、资源访问控制、软件设计与开发以及高级系统建模、分析与验证等方面进行了综合讲解。首先概述基本概念,之后深入研究硬件组件的细节,包括处理器、内存、I/O设备和架构、通信结构、外围设备以及实时操作系统的特性。后面的章节致力于介绍实时任务调度算法和资源访问控制策略,以及优先级反转控制和死锁避免。同时还介绍了实时系统的并行系统编程和POSIX编程,以及有限状态机和时间Petri网。令软件工程师特别感兴趣的是模型检测的章节(其中讨论了时序逻辑和NuSMV模型检测工具),以及用UML处理实时软件设计的章节。最后探讨了软件可靠性、老化、重启、安全以及电源管理等实际问题。

图书特色

理论基础全面,实践经验丰富,满足软硬件协同设计方法对当代工程师的要求

图书前言

实时嵌入式系统在我们的日常生活中扮演着重要的角色。它们存在于汽车、手机和家用电器中。工业过程控制、电信、信号处理、车辆导航、空中交通控制及空间探索等都依赖于实时嵌入式系统技术。随着近年来信息与通信的发展及物联网、普适计算的出现,实时嵌入式应用市场发展到一个新的高度。相关企业对于计算机科学家和软件工程师,特别是具备实时嵌入式系统硬件和软件研发能力的工程师的需求持续增长。本教材为学生提供了对上述挑战的基础知识和技能。
本书介绍了实时嵌入式系统的特性、典型的嵌入式硬件组件、实时操作系统基本特性、常见的实时任务调度算法及主流资源访问控制协议。此外,还介绍了几种用于实时嵌入式系统设计、建模、分析与关键特性验证的方法。通过阅读本书,有志于从事实时软件开发的人可掌握进行并发编程和实时任务实现所需的技能。
章节安排
本书可分为四个部分。第一部分包含第1~3章,主要介绍实时嵌入式系统的基本概念和特性、嵌入式系统硬件基础、通用操作系统和实时操作系统,并以汽车防抱死制动系统为例,介绍了实际实时嵌入式系统的组成和特性。
第二部分包括第4~6章,主要讲述实时系统调度、任务分配、资源访问控制以及实时嵌入式系统的编程。第4章讨论了时钟驱动和基于优先级的调度协议,以及一些任务分配算法。第5章介绍了资源共享问题及可以解决优先级反转和死锁问题的资源访问控制协议。第6章详细介绍了实时任务实现、任务间同步和通信以及并发编程技术。
第三部分包括第7~10章,主要介绍实时嵌入式系统的建模和分析技术。其中,第7章介绍了逻辑电路与软件设计的传统计算模型—有限状态机。第8章介绍的UML状态机在传统的有限状态机的基础上扩展了层次结构和正交结构,且引入了丰富的图形元素。Petri网是一种高层模型,是事件驱动系统建模和分析的强有力工具。时间Petri网允许用户验证系统的时序约束。第9章介绍了Petri网和时间Petri网的理论及应用。模型检查指利用软件工具和模型验证系统特性的技术。第10章介绍了模型检查原理、模型检查工具NuSMV及其时序逻辑和描述语言。
第11章为本书最后一部分,该章简要介绍了实时嵌入式系统设计和开发中需要考虑的一些实际问题,包括软件可靠性、老化、安全性以及能耗等。
阅读建议
本书可用作计算机工程、软件工程、计算机科学、信息技术等专业本科生及研究生嵌入式和实时系统课程的教材。对于对计算机编程、操作系统和计算机体系结构有一定基础的学生,本书将把他们的知识和技能扩展到对日常生活质量有深远影响的实时嵌入式计算领域。
本书的部分内容可用作本科生计算机工程、计算机科学和软件工程核心课程的阅读材料,或作为在实时嵌入式系统领域进行研究的学生的参考书。
本书也适合从事实时和嵌入式软件设计和开发工作的从业者阅读。
致谢
本项目得到墨西哥CONACYT项目“Estancias Sabáticas en México para Extranjeros para la Consolidación de Investigación”的部分资助。第9章由墨西哥CINVESTAV-IPN李晓鸥(Xiaoou Li)教授编写。在编写本书过程中,有20年友谊的伙伴—蒙莫斯(Monmouth)大学Willian Tepfenhart教授提供了热心帮助。他和我讨论了第6~8章的内容,他的观点对这三章内容的组织和撰写有着不可磨灭的影响。得克萨斯南方大学陈学敏(Xuemin Chen)教授帮助校对了本书的前两章,并对本书的内容体系提出了有益的建议。西安邮电大学陈丽君(Lijun Chen)教授审阅了第6章初稿,并给出了中肯的意见。蒙莫斯大学硕士生胡斌(Bin Hu)先生测试了本书中所有的代码。在此感谢大家的无私帮助。

蒙莫斯大学
新泽西州西朗布兰奇
2017年1月15日

上架指导

计算机/嵌入式

封底文字

实时嵌入式系统广泛应用于电子产品、车辆导航及空间探索等方面,企业对相关硬件和软件开发人员的需求持续增长。本书全面介绍实时嵌入式系统调度、资源访问控制、软件设计和开发,以及系统建模、分析和验证技术,适合该领域的学生和技术人员阅读。
本书主要内容包括:第1~3章介绍实时嵌入式系统的基础概念、硬件组件和特性;第4~6章讲解实时任务调度算法、资源访问控制协议、优先级反转控制、死锁避免以及并发编程技术;第7~10章讨论建模和分析技术,包括有限状态机、UML状态机和时间Petri网,以及软件工程师特别感兴趣的模型检查技术;最后的第11章探讨软件可靠性、安全性和电源管理等实际问题。

本书特色
关注实时性方面的需求和设计技术,特别是帮助读者掌握建模及模型验证方法,满足软硬件协同设计方法对当代工程师的要求。
不仅全面涵盖基础概念,而且分享了作者丰富的实时嵌入式系统软件设计经验,并针对常见的实际问题给出了可行的解决方案。
包含大量的例题和习题,每章还提供拓展阅读建议,对于实时嵌入式系统软件的设计、开发和管理人员的学习及进阶大有助益。

王加存(Jiacun Wang) 蒙莫斯大学计算机科学与软件工程系教授。曾任职于美国北电网络公司、佛罗里达国际大学和南京理工大学。研究兴趣包括软件工程、离散事件系统、形式化方法、无线网络和实时分布式系统。

樊卫华 南京理工大学自动化学院副教授,中国自动控制理论专业委员会网络化控制系统学组委员,中国人工智能学会会员,江苏省自动化学会会员。研究方向为智能控制与智能系统,以及嵌入式系统。

作者简介

[美]王加存(Jiacun Wang) 著:---作者简介---
王加存(Jiacun Wang) 蒙莫斯大学计算机科学与软件工程系教授。曾任职于美国北电网络公司、佛罗里达国际大学和南京理工大学。研究兴趣包括软件工程、离散事件系统、形式化方法、无线网络和实时分布式系统。

---译者简介---
【有更新】
樊卫华 南京理工大学自动化学院副教授,中国自动控制理论专业委员会网络化控制系统学组委员,中国人工智能学会会员,江苏省自动化学会会员。研究方向为智能控制与智能系统,以及嵌入式系统。

译者序

近年来,随着微电子技术和通信技术的飞速发展,基于微处理器的嵌入式系统应用范围迅速扩大。嵌入式系统藏身于各种设备和装置中,小到电子手表、电子体温计、复读机、智能手机,大到空调、电冰箱、电视机,甚至马路上红绿灯的控制器、飞行器中的飞控系统、自动导航设备、汽车中的燃油控制、汽车雷达、ABS等。若按实时性要求对嵌入式系统进行分类,大多数嵌入式系统均属于实时系统,因而称之为实时嵌入式系统。这类系统不仅需要对外部环境的变化、用户输入做出准确的响应,而且对反应的时间具有严格的要求。开发实时嵌入式系统,要求开发者具备低层的硬件、交叉编译技术、交叉调试技术、实时操作系统原理、多任务及多线程、调度及资源共享等多种知识。特别是实时嵌入式系统的软件开发技术与通用计算机系统的软件开发技术存在较大的差异,它不仅需要软件工程方面的知识和经验,还需要硬件知识以及与实时嵌入式系统相连接的被控对象/环境的先验知识,这使得许多具有良好软件开发经验的人在实时嵌入式系统开发方面也感到困难。而随着实时嵌入式系统的应用领域和市场规模不断扩大,对实时嵌入式系统开发人员的需求在不断增加,我国目前这方面的专业人才并不能满足当前社会的需求。
本书从实时嵌入式系统的基本概念出发,系统地介绍了实时嵌入式系统的基本组成、硬件组件、基础知识、任务及任务调度、资源共享与访问控制、并发编程、实时系统建模与模型检查,最后总结了实时嵌入式系统实践中的若干问题,基本上涵盖了开发实时嵌入式系统软件所需要的各方面知识。因此,本书不仅可以作为计算机工程、软件工程、嵌入式系统、物联网工程等专业本科生和研究生嵌入式系统课程的教材,也适合从事实时与嵌入式系统软件研发相关工作的工程师和从业者阅读。
市售嵌入式系统技术方面的教材,大多数从嵌入式系统的基本概念出发,以某款嵌入式微处理器为基础,介绍嵌入式微处理器的接口技术,再兼顾嵌入式系统软件设计、嵌入式操作系统等知识,而甚少谈及嵌入式系统在实时性方面的要求、设计技术。另外,市售嵌入式系统教材多以实践为主,对系统建模及模型验证等理论少有涉猎。实际上,目前嵌入式系统设计的主流方法—软硬件协同设计,不同于传统设计方法之处在于,系统设计初期需要对系统行为和特性进行准确而详细的建模和评估,否则会对后续的设计工作有致命的影响。本书中对UML(统一建模语言)、有限状态机以及Petri网建模技术的介绍正弥补了这方面的缺陷。
本书的作者王加存教授先后在南京理工大学、美国北电网络公司和美国蒙莫斯大学任职,长期从事软件设计和研究工作,具有丰富的实时嵌入式系统软件设计经验。为帮助读者尽快掌握实际系统软件开发的技巧,本书第11章从作者自身研究和实践所得出发,分析、总结了实时嵌入式系统软件开发中常见的实际问题,并给出了可行的解决方案,这也是市售教材中缺失的部分,对于读者而言是弥足珍贵的。
受限于时间和本人的水平,翻译中难免存在一些不尽如人意之处,还请读者不吝批评指正。考虑到一些英文的专业术语在中文中还没有统一和规范,因此译文中对这些术语尽量保留了英文名,对于缩写也进行了必要的注释,便于读者参阅。
最后感谢作者和出版社的信任,翻译此书是一个愉快的学习过程,拓宽了本人的知识面,也加深了本人对实时嵌入式系统软件设计的理解。

樊卫华
2019年7月16日
于南京理工大学自动化学院

图书目录

出版者的话
译者序
前言
第1章 实时嵌入式系统简介1
1.1 实时嵌入式系统1
1.2 示例:汽车防抱死制动系统2
1.2.1 侧滑率和制动力2
1.2.2 ABS部件3
1.2.3 ABS控制5
1.3 实时嵌入式系统的特性6
1.3.1 系统结构6
1.3.2 实时响应7
1.3.3 高度制约的环境7
1.3.4 并发性7
1.3.5 可预测性8
1.3.6 安全性和可靠性8
1.4 硬实时嵌入式系统和软实时嵌入式系统8
习题9
阅读建议10
参考文献10
第2章 硬件组件11
2.1 处理器11
2.1.1 微处理器11
2.1.2 微控制器12
2.1.3 专用集成电路12
2.1.4 现场可编程门阵列13
2.1.5 数字信号处理器13
2.1.6 专用指令集处理器13
2.1.7 多核处理器13
2.1.8 冯·诺依曼结构和哈佛结构13
2.1.9 复杂指令集计算机和精简指令集计算机14
2.2 存储器和高速缓存15
2.2.1 只读存储器15
2.2.2 随机访问存储器15
2.2.3 高速缓存16
2.3 I/O接口17
2.4 传感器和执行器18
2.5 定时器和计数器19
习题20
阅读建议20
参考文献20
第3章 实时操作系统22
3.1 通用操作系统的主要功能22
3.1.1 进程管理22
3.1.2 内存管理24
3.1.3 中断管理26
3.1.4 多任务26
3.1.5 文件系统管理27
3.1.6 I/O管理27
3.2 RTOS内核的特性28
3.2.1 时钟和定时器29
3.2.2 优先级调度30
3.2.3 任务间通信和资源共享30
3.2.4 异步I/O31
3.2.5 内存锁定32
3.3 RTOS示例32
3.3.1 LynxOS32
3.3.2 OSE33
3.3.3 QNX33
3.3.4 VxWorks33
3.3.5 Windows Embedded Compact34
习题34
阅读建议35
参考文献35
URL35
第4章 任务调度36
4.1 任务36
4.1.1 任务说明36
4.1.2 任务状态38
4.1.3 优先约束39
4.1.4 任务分配与调度39
4.2 时钟驱动调度40
4.2.1 结构化时钟驱动调度42
4.2.2 调度非周期任务46
4.2.3 调度偶发任务46
4.3 轮询方法48
4.4 基于优先级的调度算法48
4.4.1 固定优先级算法49
4.4.2 动态优先级算法53
4.4.3 非周期和偶发任务的基于优先级调度57
4.4.4 实际因素59
4.5 任务分配62
4.5.1 装箱算法62
4.5.2 考虑通信成本的分配65
习题66
阅读建议68
参考文献69
第5章 资源共享与访问控制70
5.1 资源共享70
5.1.1 资源操作70
5.1.2 资源请求描述71
5.1.3 优先级反转和死锁72
5.1.4 资源访问控制73
5.2 非抢占的临界区协议73
5.3 优先级继承协议75
5.3.1 优先级继承协议的规则75
5.3.2 优先级继承协议的特性77
5.4 优先级上限协议79
5.4.1 优先级上限协议的规则79
5.4.2 优先级上限协议的特性81
5.4.3 最坏情况的阻塞时间83
5.5 堆栈共享优先级上限协议85
5.5.1 堆栈共享优先级上限协议的规则85
5.5.2 堆栈共享优先级上限协议的特性86
习题87
阅读建议89
参考文献89
第6章 并发编程90
6.1 简介90
6.2 POSIX线程90
6.3 同步机制93
6.3.1 竞争条件和临界区94
6.3.2 互斥95
6.3.3 条件变量97
6.3.4 信号量101
6.4 任务间通信106
6.4.1 消息队列106
6.4.2 共享内存111
6.4.3 共享内存保护114
6.5 实时设施116
6.5.1 实时信号116
6.5.2 定时器119
6.5.3 周期任务的实现121
6.5.4 多周期任务系统的实现124
习题124
阅读建议127
参考文献127
第7章 有限状态机128
7.1 有限状态机基础128
7.2 确定性有限自动机129
7.2.1 Moore机130
7.2.2 Mealy机132
7.3 非确定性有限自动机135
7.4 有限状态机的编程135
习题137
阅读建议140
参考文献140
第8章 UML状态机141
8.1 状态141
8.2 转移143
8.3 事件144
8.4 复合状态145
8.4.1 层次结构145
8.4.2 正交性146
8.4.3 子状态机状态147
8.5 伪状态147
8.5.1 历史伪状态147
8.5.2 进入点和退出点149
8.5.3 分叉和汇入伪状态150
8.5.4 终止伪状态150
8.6 ABS系统的UML状态机151
习题154
阅读建议156
参考文献156
第9章 时间Petri网157
9.1 Petri网定义157
9.1.1 变迁激发158
9.1.2 建模能力159
9.2 Petri网属性161
9.2.1 行为属性161
9.2.2 结构属性165
9.3 时间Petri网168
9.3.1 确定性时间Petri网168
9.3.2 时间Petri网173
习题176
阅读建议180
参考文献181
第10章 模型检查182
10.1 模型检查简介182
10.2 时序逻辑183
10.2.1 线性时序逻辑184
10.2.2 计算树逻辑190
10.2.3 LTL与CTL的比较194
10.3 模型检查工具NuSMV194
10.3.1 描述语言195
10.3.2 格式198
10.3.3 运行NuSMV199
10.4 实时计算树逻辑202
习题206
阅读建议209
参考文献209
第11章 实际问题211
11.1 软件可靠性211
11.1.1 软件错误211
11.1.2 可靠性测量212
11.1.3 提高软件的可靠性212
11.2 软件老化和重启213
11.3 信息安全性214
11.3.1 挑战214
11.3.2 常见漏洞214
11.3.3 信息安全软件设计215
11.4 安全性216
11.5 节电216
阅读建议217
参考文献217

教学资源推荐
作者: [荷]米歇尔·沃哈根(Michel Verhaegen) 文森特·沃达特(Vincent Verdult) 著
作者: [美]马克?西格斯蒙德(Mark Siegesmund)著
作者: 张婷 编著
作者: [美]理查德G.莱昂斯(Richard G.Lyons) D.李·富盖尔(D. Lee Fugal) 著
参考读物推荐
作者: (美)Steven F. Barrett 著
作者: 刘歧,赵文杰 编著 武爱敏 审校
作者: 王绍伟 郑德智 吴玉勇 编著