BS一下自己先,没有做到每周一文。
一方面是工作的需要,一方面也是自己的兴趣使然,从今年起开始进入linux领域。然而一进入这领域,起点就颇高,上去就搞上了linux内核。幸好大学时操作系统课还上了几节(记得有几次实验课没去,后来实在是再不能被点名了就去了,老师点我的名字后正准备点下一个时突然听到我的回答显得有些吃惊,就问你终于来了....... 然后问我操作系统难不难,我当时大言不惭的说不难。现在仍然后悔当时的回答,并且为自己当时的无知深以为耻),要不还真是不知道如何是好。
言归正传,RCU(Read-Copy-Update)是linux中的一种线程同步(synchronization)机制。linux已经有那么多的同步机制为什么还搞个什么RCU呢?这就源于内核开发者对更高性能的不懈追求,正是由于他们的努力,linux变得越来越强大。RCU的适用于读多写少(read-mostly)的情况下,并且随着cpu的核的增加性能是增加的(至少从单核到四核是这样的)。适用于读多写少的还有rwlock,但是rwlock随着CPU核的增加性能是有下降的。现在很多的服务器什么的动不动都上十核,所以RCU的使用空间是很大的。