+ -
当前位置:首页 → 问答吧 → lock_kernel大内核锁的疑惑

lock_kernel大内核锁的疑惑

时间:2010-11-09

来源:互联网

2.6.10以后的内核,有kernel_sem的信号量实现了大内核锁,这种改变的初衷就是为了允许在大内核锁保护的临界区实现内核抢占。(摘自ulk p226)
疑惑:按照ulk的说法,如果在持有大内核锁期间,主动调用schedule,会释放大内核锁,这样其他进程可以获取这个大内核锁,
但当被抢占掉时,被抢占进程不会释放大内核锁,这样也就是说如果进程b抢占了进程a,进程a持有大内核锁,如果进程b也要获得这个锁的话,它还是会睡眠,不能继续进行,直到进程a重新执行,并释放大内核锁,这样的话这种抢占岂不是毫无意义。
至此:个人感觉大内核锁的可抢占没什么意义!请那位大侠路过纠正我的观点。

作者: 专制专制不服   发布时间: 2010-11-09

路过的都帮顶下啊

作者: 专制专制不服   发布时间: 2010-11-09