在我目前的项目中,我有两个级别的任务,在 VxWorks 系统中,一个用于数字运算和其他工作的较高优先级 (100) 任务,然后是一个用于将后台数据记录到板载闪存的较低优先级 (200) 任务。使用 fwrite() 调用对存储在 TFFS 文件系统上的文件进行日志记录。高优先级任务以周期性速率运行,然后休眠以允许完成后台日志记录。
我的期望是后台日志记录任务将在高优先级任务休眠时运行,并在高优先级任务唤醒时被抢占。
一旦高优先级任务准备好再次运行,当有足够的数据来保持记录任务持续被占用时,似乎正在发生的事情是暂停后台记录任务的显着延迟。
在 Power PC 架构上的 VxWorks 6.8 下,什么会延迟优先级较低的任务的抢占?