第二章1.信号量及各种锁.ppt

第二章1.信号量及各种锁

Neusoft Institute of Information Date: 9 3 2010 IT Education Training Neusoft Institute of Information 电子工程系-- 嵌入式Linux驱动设备开发 目录 一 并发与竞态 三 自旋锁、读写锁 四 原子操作、等待队列 二 信号量 并发和它的管理 Linux 系统的并发源: 多个用户空间进程在运行,它们可能以令人惊讶的方式组合运行你的代码. SMP系统能够同时在不同处理器上执行你的代码. 内核代码是可抢占的;你的驱动代码可能在任何时间失去处理器,代替它的进程可能也在你的驱动中运行. 设备中断是能够导致你的代码并发执行的异步事件. 内核也提供各种延迟代码执行的机制, 例如 workqueue,tasklet,定时器.这些能够使你的代码在任何时间以一种与当前进程在做的事情无关的方式运行. 资源共享的硬规则 任何时候一个硬件或软件资源被超出一个单个执行线程共享,并且可能存在一个线程看到那个资源的不一致时,你必须明确地管理对那个资源的存取. 当内核代码创建一个会被内核其他部分共享的对象时, 这个对象必须一直存在(并且功能正常)到它知道没有对它的外部引用存在为止. 在大部分情况下, 你将发现内核为你处理引用计数, 但是常常有例外. 信号量: 是一个单个整型值, 结合有一

文档评论(0)

1亿VIP精品文档

相关文档