任务的STACK_SIZE是否会影响任务切换延迟



如果我有两个任务TASK_A和TASK_B。

TASK_A的堆栈大小=300

TASK_B的堆栈大小=600

TASK_A和TASK_B的上下文切换时间是否依赖于它们各自的堆栈大小

否,任务堆栈大小不影响上下文切换时间。每个任务在单独的内存范围中都有自己的堆栈。在上下文切换期间,处理器的堆栈指针寄存器被更改为指向不同任务的堆栈。在上下文切换期间不会复制或移动堆栈,因此堆栈大小不会影响上下文切换时间。

上下文切换是系统在多任务环境中从一个任务切换到另一个任务的过程。这是一个通用术语。可以有许多类型的开关,如寄存器线程堆栈等。如果您特别提到栈帧开关,则它涉及推送弹出操作和一些寄存器恢复操作,至少在理论上是恒定时间操作。它并不取决于堆栈本身的大小。

相关内容

  • 没有找到相关文章

最新更新