【清晰易懂】使用自旋锁解决Linux内核中的竞态问题分析
原因是:这两个函数被设计了一种机制:在执行这两个函数的时候,有可能会切换到其他进程进行执行任务(防止拷贝数据时间太长影响其他进程),而这个机制就与我们保护竞态资源的初衷冲突了;但是该思路犯了更低级的错误:在打开设备文件函数中进行解锁后,其他进程就开始可以获取到锁了,此时其他进程就也可以进入设备文件,对临界资源进行操作了,这与我们。原因是:自旋锁保护区间内,其他进程想要获取锁,会处于忙等状态,不断消耗 CPU 资源,因此要尽量压缩这个区间。状态,即:获取不到锁,就不断请求获取锁,直到获取到锁为止,因此。
原创
2023-05-30 13:25:18 ·
216 阅读 ·
2 评论