前言
前言
本系列书的内容是什么
《嵌入式实时操作系统——理论基础》和《嵌入式实时操作系统——基于STM32Cube、FreeRTOS和Tracealyzer的应用开发》为系列图书,旨在为嵌入式实时操作系统开发提供坚实的基础知识和技能,内容主要分为两类:
(1) 相关的基础知识。
(2) 实现特定设计的方法和开发技能。
来自成熟专业领域(电子、机械、航空工程等)的工程师能够清楚地理解两者间的不同。有经验的工程师也懂得,对于基础知识的理解是施展技能的先决条件。遗憾的是,在软件工程领域,这一道理时常被忽视。
谁应该阅读本系列书
本系列书的目标读者是实时嵌入式系统软件开发者,或者计划进入该领域的人士,主要考虑了下面四个方向的读者群:
(1) 学生。
(2) 想要进入软件领域的工程师和科学家。
(3) 即将进入嵌入式领域的专业软件工程师。
(4) 在基于软件的实时系统的基本原理方面没有接受过正式教育的程序员。
本书的内容是什么
本书涉及实时嵌入式系统的基本原理,旨在回答下面这些问题:
(1) 实时操作系统(RTOS)是什么?
(2) 为什么要在设计中使用RTOS?
(3) 使用RTOS有什么缺点?
(4) 嵌入式实时操作系统有哪些组成部分?
(5) 现代嵌入式系统可以使用单处理器、多处理器和多计算机架构,我们如何在多种平台上部署RTOS?
(6) 如何评估RTOS的性能?如何改善性能?
(7) 如何调试基于RTOS的设计?
目录展示了关于内容的更多细节。每一章的开头都会清楚地列出目标,推荐快速阅读这些目标,从而了解全书的范围和意图。
与本书配套的《嵌入式实时操作系统——基于STM32Cube、FreeRTOS和Tracealyzer的应用开发》(已由清华大学出版社于2021年5月出版),其中包含帮助理解核心基础知识(本书第1~5章)的实验。在阅读原理的同时,推荐进行相关的实验,这有助于将来解决真实的RTOS设计问题。
应该如何阅读本书
无论是否有经验,请大家务必阅读第1章,而且要充分吸收其中的信息。如果不能真正地理解第1章讨论的问题,你将很难做出好的设计。
第2~6章是和实时嵌入式系统相关的基础知识,其中不仅展示了多任务设计的实现方法,还讨论了为什么要用特定的方法,目标读者是初次接触实时嵌入式系统任务设计和实现的开发者。这几章重点针对单核处理器进行讨论。第7、8章扩宽了范围,讨论了多处理器和分布式系统(这两者之间的边界并不是那么清晰)。
第9章进一步扩展了针对任务调度方法的讨论,内容基本是理论性的,并带有一些实践性方面的倾向。之所以这么晚才进入这一主题,是为了让读者能够更容易地理解其内容。如果已经充分地掌握了基础概念,这一章应该很容易理解。
第10~12章是和实时操作系统的实用性相关的内容。如果刚进入RTOS领域,第10章有助于理解不同操作系统结构之间的区别,这在选择第一个RTOS的时候十分有用。与此对应,如果已经构建好了系统,第11、12章会更为实用,这两章和运行时的软件行为、质量、可靠性有关。
第13章的主题是在关键系统中使用RTOS,描述了针对更高的安全完整性等级,改善RTOS安全性及可靠性的步骤。随着对可信嵌入式系统需求的增加,安全关键软件已经成为一个热门话题。这一章包括许多增强系统健壮性的方法,适用于不那么关键的应用。即使你的工作不需要和关键系统打交道,这一章也非常值得阅读。
致谢
书中引用了一些图片,在相应图片的下方给出了来源,在此表示感谢。最后,我想要感谢我的儿子Niall,他帮助我检查了书稿,指出了代码中好几个问题。
读者们,希望你们喜欢本书,祝你们一切都好。
吉姆·考林(Jim Cooling)
2022年5月写于马克菲尔德(英国)