并发和竟态

并发和竞态


并发:多个执行单元同时,并行的被执行。

竞态:并发的执行单元对共享资源(硬件资源和软件上的全局变量,静态变量等)的访问导致发生竞态。


竟态的几种情况:



1.对称多处理器(SMP)的多个CPU


SMP:紧耦合,共享存储的系统模型。如下图所示。




其特点是多个CPU使用共同的系统总线,因此可访问共同的外设和储存器。

有SMP的情况下两个核的竞态可能发生于两CPU的进程与进程之间,进程与中断之间,中断与中断之间


2.单CPU内进程与抢占它的进程

在Linux2.6以后的内核支持内核抢占调度。

情况类似于SMP的多个CPU。


3.中断(硬中断,软中断,Tasklet,底半部)与进程之间

中断服务程序访问进程正在访问的资源会发生竟态。

多个中断之间本身也可能引起并发。但在Linux 2.6.35之后就取消了中断的嵌套。





上述并发的发生除了SMP是真正的并行之外其他都是单核上的"宏观并行微观串行"。

但引发的实质问题和SMP相似。




解决竟态问题的途径是保证对共享资源的互斥访问。




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值