并发与竞争

更新时间:
2024-01-09
下载文档

并发与竞争

并发 是指多个执行单元同时、并发被执行,而并发的执行单元对共享资源(硬件资源和软件上的全局变量、静态变量等)的访问则很容易导致 竞争

如果在访问共享资源时不独占该共享资源,可能会造成资源异常(如变量值混乱、设备出错或内存块内容不是期望值等),进而导致程序运行异常甚至崩溃。

SylixOS 支持 SMP内核抢占 ,在此环境下更是充满了并发与竞争。

在 SylixOS 中,可能导致并发与竞争的情况有:

  • 对称多处理器(SMP)。SMP 是一种紧耦合、共享存储的系统模型,特点是多个 CPU 可以使用共同的系统总线,因此可访问共同的外设和存储器。
  • 内核进程的抢占。SylixOS 是可抢占的,所以一个内核进程可能被另一个高优先级的内核进程抢占。如果两个进程共同访问共享资源,就会出现竞争。
  • 中断。中断可打断正在执行的进程,若中断处理程序访问进程正在访问的资源,则也会引发竞争。中断也可能被新的更高优先级的中断打断,因此,多个中断之间也可能引起并发而导致竞争。

以上三种情况只有 SMP 是真正意义上的并行,而其他是宏观上的并行,微观上的串行,且都会引发对共享资源的竞争问题。

文档内容是否对您有所帮助?
有帮助
没帮助