<1>裸机编程
对于裸机编程,只有超级循环(任务A)和ISR(任务B),属于二阶任务平面。
* 如果任务B仅仅是读共享资源,那么此类共享资源是安全的。
* 如果任务A和任务B都会对共享资源进行写入操作,那么只需要对任务A中的共享资源进行保护即可(任务B的共享资源永远不会被任务A打断)。
<2>操作系统编程
对于具有多阶任务平面的操作系统来说,依次找出最高阶任何和所有比它低阶的任务间的共享资源,在所有低阶任务平面中的共享资源都需要进行保护。
如果操作系统使用时间片轮转,那么该优先级下的所有任务的共享资源都需要被保护(因为可以互相打断)。