避免对同一数据的并发访问(通常由中断、对称多处理器、内核抢占等引起)称为同步。
——题记
内核源码:linux-2.6.38.8.tar.bz2
目标平台:ARM体系结构
原子操作确保对同一数据的“读取-修改-写入”操作在它的执行期间不会被打断,要么全部执行完成,要么根本不会执行。例如在ARM上对全局变量的++运算至少要经历以下三步:
[cpp] view
plaincopy
ldr r3, [r3, #0]
add r2, r3, #1
str r2, [r3, #0]
这就给并发访问制造了可能,所以在编写内核代码时需要给有可能被并发访问的变量加上原子操......
阅读全文