亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1057 | 回復(fù): 0
打印 上一主題 下一主題

RCU 原理( kernel 2.6 ) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2009-09-25 17:57 |只看該作者 |倒序?yàn)g覽

               
RCU(Read-Copy
Update),顧名思義就是讀-拷貝修改,它是基于其原理命名的。對于被RCU保護(hù)的共享數(shù)據(jù)結(jié)構(gòu),讀者不需要獲得任何鎖就可以訪問它,但寫者在訪問它
時首先拷貝一個副本,然后對副本進(jìn)行修改,最后使用一個回調(diào)(callback)機(jī)制在適當(dāng)?shù)臅r機(jī)把指向原來數(shù)據(jù)的指針重新指向新的被修改的數(shù)據(jù)。這個時
機(jī)就是所有引用該數(shù)據(jù)的CPU都退出對共享數(shù)據(jù)的操作。
因此RCU實(shí)際上是一種改進(jìn)的rwlock,讀者幾乎沒有什么同步開銷,它不需要鎖,不使用原子指令,而且在除
alpha的所有架構(gòu)上也不需要內(nèi)存 柵(Memory
Barrier),因此不會導(dǎo)致鎖競爭,內(nèi)存延遲以及流水線停滯。不需要鎖也使得使用更容易,因?yàn)樗梨i問題就不需要考慮了。寫者的同步開銷比較大,它需要
延遲數(shù)據(jù)結(jié)構(gòu)的釋放,復(fù)制被修改的數(shù)據(jù)結(jié)構(gòu),它也必須使用某種鎖機(jī)制同步并行的其它寫者的修改操作。讀者必須提供一個信號給寫者以便寫者能夠確定數(shù)據(jù)可以
被安全地釋放或修改的時機(jī)。有一個專門的垃圾收集器來探測讀者的信號,一旦所有的讀者都已經(jīng)發(fā)送信號告知它們都不在使用被RCU保護(hù)的數(shù)據(jù)結(jié)構(gòu),垃圾收集
器就調(diào)用回調(diào)函數(shù)完成最后的數(shù)據(jù)釋放或修改操作。
RCU與rwlock的不同之處是:它既允許多個讀者同時訪問被保護(hù)的數(shù)據(jù),又允許多個讀者和多個寫者同時訪問被保護(hù)的數(shù)據(jù)(注意:是否可以有多個寫者并
行訪問取決于寫者之間使用的同步機(jī)制),讀者沒有任何同步開銷,而寫者的同步開銷則取決于使用的寫者間同步機(jī)制。但RCU不能替代rwlock,因?yàn)槿绻?br /> 寫比較多時,對讀者的性能提高不能彌補(bǔ)寫者導(dǎo)致的損失。
讀者在訪問被RCU保護(hù)的共享數(shù)據(jù)期間不能被阻塞,這是RCU機(jī)制得以實(shí)現(xiàn)的一個基本前提,也就說當(dāng)讀者在引用被
RCU保護(hù)的共享數(shù)據(jù)期間,讀者所
在的CPU不能發(fā)生上下文切換,spinlock和rwlock都需要這樣的前提。寫者在訪問被RCU保護(hù)的共享數(shù)據(jù)時不需要和讀者競爭任何鎖,只有在有
多于一個寫者的情況下需要獲得某種鎖以與其他寫者同步。寫者修改數(shù)據(jù)前首先拷貝一個被修改元素的副本,然后在副本上進(jìn)行修改,修改完畢后它向垃圾回收器注
冊一個回調(diào)函數(shù)以便在適當(dāng)?shù)臅r機(jī)執(zhí)行真正的修改操作。等待適當(dāng)時機(jī)的這一時期稱為grace
period,而CPU發(fā)生了上下文切換稱為經(jīng)歷一個quiescent state,grace
period就是所有CPU都經(jīng)歷一次quiescent state所需要的等待的時間。垃圾收集器就是在grace
period之后調(diào)用寫者注冊的回調(diào)函數(shù)來完成真正的數(shù)據(jù)修改或數(shù)據(jù)釋放操作的。
               
               
               
               
               

本文來自ChinaUnix博客,如果查看原文請點(diǎn):http://blog.chinaunix.net/u3/104335/showart_2060109.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP