Linux学习笔记:内核同步和互斥机制的简要总结
从使用场景,运行上下文和调用者是否允许睡眠等思考点出发,以分类的方式总结一下Linux的同步和互斥机制,并与vxWorks的实现做比较。
使用场景一:资源保护,由多个执行单元并发访问同一资源产生竞争条件,为了保护软硬件资源,对访问者进行互斥,造成的同步需求。
在Linux系统中的并发场景可有由下列几种情况:
1. 对称多核处理器(SMP)的CPU,由于每个核的代码都是独立运行的,这个是真正的并发。
2. 单核cpu或者多核cpu中的某个核,由于调度或者抢占造成竞争条件。
3.中断与进程之间,进程被中断打断造成竞争条件。
4. 低优先级的中断被高优先及的中断打断造成竞争条件。
对资源的保护访问一般由下面三步曲组成:
锁定资源(禁止其他执行单元访问)