主要内容

什么是任务执行?

任务是软件应用程序中的执行单元或工作单元。通常,嵌入式处理器中的任务执行是由操作系统(OS)管理的。当部署到嵌入式处理器时,任务对应于一个OS线程。SoC Blockset™定义了执行生命周期和与操作系统线程的关系,如下所示。

任务执行生命周期

任务的生命周期可以分为五种状态:

  • 创建—系统在应用启动时创建所有任务,并立即将任务移至等待状态。

  • 等待—任务等待相关的触发信号,例如OS定时器或I/O设备。收到触发信号后,任务开始运行。优先级最高的任务进入运行状态。否则,任务将继续等待,直到它成为最高优先级的触发任务。

  • 运行—任务执行自己的代码。当代码完成执行时,任务立即转移到等待状态。如果触发了高优先级任务,则正在运行的任务将移动到抢占状态。

  • 抢占—任务被抢占等待运行。任务的运行基于任务优先级和任务进入的顺序的组合抢占状态。假设所有其他任务的优先级相同准备恢复状态下,任务基于先进先出(FIFO)顺序运行。

  • 终止—当应用程序结束时,任务终止。

该图显示了使用操作系统的应用程序的任务执行生命周期的状态图。为简单起见,没有显示终止状态,但是任务可以从任何其他状态到达终止状态。

任务和线程

任务是算法中概念上的工作单元。在设备上执行的应用程序中,任务是在操作系统(OS)内的线程中执行的一段代码。操作系统线程决定任务的执行状态。在SoC块集中,一个任务特别引用Simulink的部分金宝app®包含在速率或函数调用子系统中的模型。该子系统的触发信号来自于任务管理器块。当部署到硬件时,操作系统线程使用任务属性。线程执行子系统生成的代码。从概念上讲,一个任务在模拟中相当于a线程在生成代码中。

另请参阅

相关的话题

外部网站