RTA_OS基础功能讲解 2.2-任务(上)
文章目录
一、概述
必须同时执行许多不同活动的系统称为并发系统。 这些活动可能有一些软件部分,因此提供它们的程序必须同时执行。 这些程序必须在必要时进行协作,例如,当它们需要共享数据时。
实时系统中的每个并发活动都由一个任务表示。 大多数应用程序代码存在于任务中。 如果您有多个必须同时执行的任务,则需要提供一种允许并发的方法。 实现此目的的一种方法是为每个任务配备一个单独的处理器。 您可以使用并行计算机,但此解决方案对于许多应用程序来说过于昂贵。
实现并发行为的一种更具成本效益的方法是在单个处理器上一次运行一个任务。 然后,您可以在任务之间切换,使它们看起来像是同时执行的。
二、调度策略
RTA-OS 提供了一个调度程序,可以根据配置时分配的固定优先级在任务之间切换。 优先级只是任务相对紧迫性的反映。 您可以使用许多方案来为任务分配优先级。
- Deadline Monotonic Assignment: 更高的优先级被分配给最后期限较短的任务。
- Rate Monotonic Assignment: 更高的优先级被分配给需要更频繁地运行的任务。
无论您选择如何分配优先级,任务的执行顺序都由调度策略决定。 调度策略决定任务何时实际运行。
RTA_OS具有以下几种调度策略:
- 抢占式调度;
- 非抢占式调度;
- 合作式调度