可以将内核代码分为三部分:①无论是单核还是多核均不需要加锁的代码;②单CPU情况需要加锁的代码(如果单CPU需要加锁,那么多CPU也肯定要加锁);③单CPU下不需要加锁,但是SMP情况下需要加锁的代码。
对于②,再没引进CMP时,就有了相关的加锁机制,在此种加锁机制上,升级该机制,使得其无论是单CPU还是多CPU都可以达到同步互斥的作用。
对于③,为了达到同步互斥就引进了大内核S
本文讨论了内核代码中不同场景下的加锁需求,包括无需加锁的代码、单CPU及多CPU环境下需加锁的代码,并介绍了为实现同步互斥引入的机制。
可以将内核代码分为三部分:①无论是单核还是多核均不需要加锁的代码;②单CPU情况需要加锁的代码(如果单CPU需要加锁,那么多CPU也肯定要加锁);③单CPU下不需要加锁,但是SMP情况下需要加锁的代码。
对于②,再没引进CMP时,就有了相关的加锁机制,在此种加锁机制上,升级该机制,使得其无论是单CPU还是多CPU都可以达到同步互斥的作用。
对于③,为了达到同步互斥就引进了大内核S

被折叠的 条评论
为什么被折叠?