随笔分类 -  linux

Linux设备驱动中的并发控制
摘要:并发与竞态 解决竞态问题的途径是保证对共享资源的互斥访问。访问共享资源的代码区域称为临界区,临界区需要以某种互斥机制加以保护。中断屏蔽、原子操作、自旋锁和信号量等是Linux设备驱动中可采用的互斥途径。中断屏蔽 中断屏蔽将使得中断与进程之间的并发不再发生,而且,由于Linux内核的进程调度等操作都依赖中断来实现,内核抢占进程之间的并发也就得以避免了。但是,需要注意是的是长时间的中断是危险的,有可能导致数据丢失或着系统崩溃。local_irq_disable()和local_irq_enable()都只能禁止和使能本CPU内的中断,不能解决SMP多CPU引发的竞态。local_irq_save( 阅读全文

posted @ 2012-02-19 19:55 alfredzzj 阅读(337) 评论(0) 推荐(0)