发表于2024-12-22
嵌入式系统经典丛书:实时嵌入式系统 设计原则与工程实践 pdf epub mobi txt 电子书 下载
《嵌入式系统经典丛书:实时嵌入式系统 设计原则与工程实践 》融入了实时系统、嵌入式系统和软件工程的新概念和新主题,为开发实时嵌入式应用软件描绘了一幅完整的图像。在本书中,你不仅可以全面地理解与微处理器、中断和系统引导过程相关的概念,领略到实时建模和调度的重要性,而且也将学习建模文档、建模分析、设计模式和标准的一致性等软件工程实践。
本书分为四个部分,帮助你学习嵌入式系统的关键概念;第Ⅰ部分介绍了开发过程,包括微处理器和中断章节——这是软件工程师的基本主题;第Ⅱ部分专门介绍了实时系统的建模技术;第Ⅲ部分讨论了软件体系架构的设计;第Ⅳ部分检验了软件的实现,并重点关注POSIX兼容的操作系统。
主要特色
◆ 涵盖了*新的UML标准(UML 2.4)
◆ 超过20种具有代表性,可以在一个非常广泛的实时嵌入式系统系列中重用的*佳的设计模式实践
◆ 在QNX中通过测试的示例代码,QNX是在行业中广泛采用的实时操作系统。
主要内容
◆ 不同嵌入式系统架构的利弊
◆ POSIX实时扩展以及如何开发POSIX兼容的实时应用程序
◆ 如何使用实时UML记录具有时序约束的系统设计
◆ 与跨平台开发相关的概念以及所面临的挑战
◆ 多任务设计和任务间通信技术(共享内存对象、消息队列、管道、信号)
◆ 如何使用内核对象(如信号量、互斥体、条件变量)来解决RTOS应用程序资源共享的问题
◆ 支持“资源管理器”这个概念的原理,以及如何使用资源管理器实现虚拟文件系统
◆ 实时调度和几个关键算法的基本原则
嵌入式系统是在一个较大的系统中设计以执行专用功能的电子系统。实时系统为在临界事件的最坏情况下的响应时间提供了保证,同时为非临界事件提供了可接受的一般情况下的响应时间。当实时系统设计成为一个嵌入式组件时,这个组件就称为实时嵌入式系统,此系统广泛地应用在消费、工业、医疗和军事方面。
随着我们的日常生活越来越依赖于嵌入式技术,近几年来,对具有开发实时嵌入式软件技能集的工程师的需求大幅增长。结果是,培养学生在嵌入式软件的设计和实现方面的能力变得日益重要。本书专门为高年级本科生或攻读软件工程、计算机工程或相关学科的研究生撰写,但也有益于专注嵌入式软件开发的在职工程师。
本书采用了协同合作的方法,引进了实时系统、嵌入式系统和软件开发原则的概念和主题。读者不仅可以深入了解有关微处理器、中断和跨平台开发流程的概念,意识到实时建模和调度的重要性,并且可以得到良好的软件工程实践的训练,这些实践包括建模文档、建模分析、设计模式和系统标准的一致性。
本书介绍开发实时嵌入式软件至关重要的三个方面。
首先,开发实时嵌入式系统软件涉及许多活动,包括需求规格说明、时序分析、体系架构设计、多任务设计以及跨平台的测试和调试。本书涵盖嵌入式软件开发的全过程,对一些主题进行全面充分的解释,而对另外一些主题则一笔带过(例如,调试和测试)。
具体来说,本书系统地介绍各种嵌入式软件架构,专注于实时操作系统,这是在大型实时操作系统中采用的最先进的架构。此外,我们选择性地强调可重复使用的设计解决方案。如表0.1所示,本书介绍许多设计模式,这些设计模式代表了在广泛的实时嵌入式系统中可重用的最佳实践。
表0.1 设计模式总结
类 别 模 式 名 书 中 位 置
ISR ISR-Pattern-min
ISR-Pattern-server
中断链
中断级联
中断禁用
双缓冲
兑现第一个请求 第4.5.1节
第4.5.2节
第4.5.3节中的图4.7
第4.5.4节中的图4.9
第4.5.5节中的图4.11
第4.5.5节中的图4.12
第12.3.2节中的图12.17
子类化 抽象-发生
泛化层次 第6.3.3节中的图6.25
第6.3.4节中的图6.27
(续表)
类 别 模 式 名 书 中 位 置
软件架构 轮询DAS 第12.2.2节中的图 12.10
带有中断的轮询 第12.3.2节中的图 12.16
FIFO 队列 第12.4.1节中的图 12.20
优先级队列 第12.4.2节中的图 12.21
串行端口设计模式 第14.2.2节中的图 14.5
静态任务调度器 基于时钟
基于帧
计时轮 第15.2节
第15.3节
第22.3节
信号量/互斥体 会合同步模式
多实例资源保护模式 第18.3.1节中的图 18.8
第18.4.1节中的图 18.19
条件变量 栅栏同步模式
生产者-消费者模式
读-写锁模式 第18.5.1节中的图 18.24
第18.5.2节中的图 18.27
第18.5.3节中的图 18.30
消息队列 单向排队模式 第19.3.1节中的图 19.5
确认-单向排队模式
双向排队模式 第19.3.2节中的图 19.6
第19.3.3节中的图 19.7
客户端-服务器排队模式 第19.3.4节中的图 19.10
管道 单向管道模式
双向管道模式 第20.3节中的图 20.4
第20.3节中的图 20.4
死锁避免 分层消息传递模式 第21.7.3节中的图 21.8
DAS,检测-确认-服务;FIFO,先进先出;ISR,中断服务例程
其次,统一建模语言(Unified Modeling Language,UML)是用于指定、可视化、构造和文档化软件系统的图形语言。在各种工程问题中,从单进程的嵌入式系统和单机用户应用程序到并发分布式系统,UML都发挥着重大的作用。本书详细描述编写本书时最新的UML标准:UML 2.4。整本书中,UML图同时用于系统设计和概念说明。特别是,我们详细介绍了UML实时配置文件,这样学生可以学习如何以专业的方式记录他们的实时系统设计。
另外,POSIX(即“可移植操作系统接口”)是开放性的操作系统接口标准,在各种Unix操作系统变体之间用于开发互操作性和可移植性好的应用程序。构建在实时操作系统上的软件系统可以很容易地移植到其他POSIX兼容的操作系统上。
本书使用的是POSIX.1-2008(2013年版)。本书中涵盖的操作系统实现和概念与POSIX.1 -2008标准完全兼容。书中提供的示例代码已在工业界广泛采用的操作系统QNX中测试。由于QNX是POSIX兼容的,因此在不改变源代码的情况下,也可以在另一个POSIX兼容的操作系统中编译并执行程序。
简单而言,本书由以下4部分组成:
● 第Ⅰ部分专门介绍实时嵌入式系统和迭代开发过程的基础知识。虽然我们重点放在软件方面,但完全与底层硬件隔离既不可行、也不可取。由于这个原因,这个部分也包含微处理器和中断两个章节——这是希望构建嵌入式系统软件工程师的基本主题。
● 第Ⅱ部分专门讲述实时系统的建模技术。具体来说,我们介绍UML所涵盖的建模工具——UML是在学术界和软件工业中普遍接受的一个标准。此外,我们介绍实时UML——指定系统模型中与实时相关约束的配置文件。全书一致地使用了UML图来说明关键的概念和设计模式。
● 第Ⅲ部分专门讨论实时嵌入式系统的软件架构设计。我们开始于通用架构,这带领我们来到了最复杂的架构——实时操作系统。然后,我们的焦点切换到多任务和实时调度——这是每一个实时嵌入式系统设计师都要解决的两个关键问题。
● 第Ⅳ部分专门讲解系统实施。我们特别专注于在POSIX兼容的操作系统中可用的机制;这个方法意味着本书中给出的设计/实施模式也适用于其他POSIX兼容的操作系统。
这4个部分共有23个章节。在一个学期的课程中,教师可以为学生讲授感兴趣的部分章节。例如,在第3章中,为了在一个或两个课时中完成授课,可以跳过一些微处理器类型。如果在软件工程原则的预修课程中学过UML基础建模概念,那么第6章、第7章和第8章可用于自我阅读的任务或仅用作参考。根据不同的学生对操作系统基本概念的熟悉程度,在第Ⅳ部分中提到的一些主题(例如,消息队列、管道和信号),教师可以因材施教。
为了帮助教师和学生使用这本书,在Elsevier指南网站http://booksite.elsevier.com/ 9780128015070中,我们提供了补充包,其中包括PPT讲义和源代码。扫封底的二维码也可以下载PPT讲义和源代码。
在本书中,未能涵盖实时嵌入式系统的每一个重大主题。在决定哪些主题适合软件工程师、哪些需要重点强调、哪些需要省略方面,这已是我能做出的最好判断。对于不同的观点,确实感兴趣的读者可以参考其他课本。
鼓励和欢迎来自同行的意见。请随时发送建议到Xiaocong Fan, Behrend College, Pennsylvania State University, Erie, PA 16563, USA (e-mail: xfan@psu.edu)。我期待听到读者使用本书的反馈。
嵌入式经典书籍,非常实用。
评分很不错的书,值得购买
评分不适合初学者,看不懂
评分买来送给朋友的,希望朋友喜欢,经常在京东买东西,很方便。
评分不适合初学者,看不懂
评分买来送给朋友的,希望朋友喜欢,经常在京东买东西,很方便。
评分很好的的一次购买,下次再剁手!
评分嵌入式经典书籍,非常实用。
评分买来送给朋友的,希望朋友喜欢,经常在京东买东西,很方便。
嵌入式系统经典丛书:实时嵌入式系统 设计原则与工程实践 pdf epub mobi txt 电子书 下载