一:什么是同步与互斥
互斥与同步机制是计算机系统中,用于控制进程对某些特定资源的访问的机制。
同步是指用于实现控制多个进程按照一定的规则或顺序访问某些系统资源的机制。
互斥是指用于实现控制某些系统资源在任意时刻只能允许一个进程访问的机制。
互斥是同步机制中的一种特殊情况。同步机制是linux操作系统可以高效稳定运行的重要机制。
同步:强调的是顺序性
互斥:强调的是排他性
竞态:多个执行单元同时被执行,处理的是同一个资源,就会导致竞态
导致竞态原因:
1.多进程同时访问操作临界资源(进程和抢占它的进程之间会导致竞态)
2.进程和中断
3.对称多处理器
二:解决竞态的具体方法
1.屏蔽中断
中断屏蔽;local_irq_disable() 临界区; 使能中断;local_irq_enable()
要求:临界区代码执行时间足够短。
中断屏蔽函数,只能屏蔽本CPU的中断