如果不使用实时内核,那么当两个任务共享一个资源时,必须先约好,先测试一个全局变量,如果该变量为0,允许该任务与共享资源打交道。为防止另一任务也使用该资源,第一个得到资源的任务只需简单地把全程变量置为1.这通常称为测试并置位操作TAS(Test-and-Set)操作。
TAS操作可能事处理器的一条不会被中断的指令,否则应该在程序中断做TAS操作再开中断。
有些微处理器有硬件的TAS指令(如Motorola 68000系列)。
发布
文章评论(0条评论)
登录后参与讨论