Hi, 你好同学,欢迎进入到本课时的学习!

在本课时中,我们的主要目标是回顾RTOS的基本工作原理及实现。既然讲原理,那应该结合一个具体的RTOS说明。所以这里选用的是tinyOS。 如果你对该OS不熟悉,请快速参考这里注意,本课时仅对该系统做简单介绍,目的是帮助已经学过该OS实现的同学。如果未学过,也没有太大关系。 相对而言,对该课程的知识点做简单了解即可。

主要内容

RTOS工作原理

在这节课中,我们回顾了RTOS的基本原理,进而对其基本工作流程有一个基础的认识。
RTOS一种系统软件,提供了帮助我们进行任务管理的框架,以及任务之间进行交互的组件。
RTOS工作原理与功能概述 - 图1
相比较使用于前后台方式,引入RTOS之后我们能够通过任务的划分更方便的编写应用代码。因为划分出的每个任务都可以独立地去执行它的任务函数,且各个任务函数在运行时就好像其独占CPU一样。
RTOS工作原理与功能概述 - 图2
同时,它也能够带来更高的事件响应事实性。
RTOS工作原理与功能概述 - 图3
在运行过程时,RTOS通过将CPU分时交给各个任务运行实现从表面上看“各个任务独占CPU运行”现像。
RTOS工作原理与功能概述 - 图4
实际上,RTOS是通过将CPU的执行权不断地交给各个不同的任务,在任务间来回的切换,才造成了这样的现像。
RTOS工作原理与功能概述 - 图5
通过这种方式,在很大程度上提高了CPU的利用率,避免了CPU空转的情况。

RTOS各个组件

课程中介绍了tinyOS的几种不同功能的组件,例如信号量、邮箱等。
RTOS工作原理与功能概述 - 图6
这些组件也常见于其它的RTOS。但不同的RTOS,在组件功能实现上会有些差异。

重点难点

注意事项

虽然课程中介绍的是tinyOS,但是对于其它类型的RTOS,如uCOS、FreeRTOS、RTX等,其工作原理以及提供的组件大体都是相似的,区别在于实现细节和功能的小差异上。
操作系统的理论和概念经常过了几十年的发展,已经非常成熟。现有成熟OS,基本上都是遵循这些原理设计的,掌握好一种可以较轻松地应对面对其它种类。

常见问题