STACK_SIZE的任务是否影响任务切换延迟
Does STACK_SIZE of a task affect the task switching delay
如果我有两个任务 TASK_A 和 TASK_B。
筹码量 TASK_A = 300
筹码量 TASK_B = 600
TASK_A 和 TASK_B 的上下文切换时间是否依赖于它们各自的堆栈大小。
上下文切换是系统在多任务环境中从一个任务切换到另一个任务的过程。这是一个通用术语。可以有很多类型的开关,如register、thread、stack等。如果你特别指到stack frame开关,然后涉及到push或pop操作和一些寄存器恢复操作,这些操作是恒定时间操作,至少在理论上。它不依赖于堆栈本身的大小。
不,任务堆栈大小不影响上下文切换时间。每个任务在单独的内存范围内都有自己的堆栈。在上下文切换期间,处理器的堆栈指针寄存器更改为指向不同任务的堆栈。在上下文切换期间不会复制或移动堆栈,因此堆栈大小不会影响上下文切换时间。
如果我有两个任务 TASK_A 和 TASK_B。
筹码量 TASK_A = 300
筹码量 TASK_B = 600
TASK_A 和 TASK_B 的上下文切换时间是否依赖于它们各自的堆栈大小。
上下文切换是系统在多任务环境中从一个任务切换到另一个任务的过程。这是一个通用术语。可以有很多类型的开关,如register、thread、stack等。如果你特别指到stack frame开关,然后涉及到push或pop操作和一些寄存器恢复操作,这些操作是恒定时间操作,至少在理论上。它不依赖于堆栈本身的大小。
不,任务堆栈大小不影响上下文切换时间。每个任务在单独的内存范围内都有自己的堆栈。在上下文切换期间,处理器的堆栈指针寄存器更改为指向不同任务的堆栈。在上下文切换期间不会复制或移动堆栈,因此堆栈大小不会影响上下文切换时间。