2010-02-26 77 views

回答

8

內核實現了引用計數,因此內核對象在所有指向它的文件句柄都關閉之前不會關閉。

+2

我相信你,我投票給你。你能爲後代提供一個文檔來源嗎?這似乎是可能再次訪問的問題的類型。 – 2010-02-26 21:10:05

+2

@San Jacinto:'dup(2)'和'close(2)'的引用一起意味着引用計數;特別是*「如果fd是特定文件描述符的最後一個副本,則與其關聯的資源將被釋放」*:http://linux.die.net/man/2/dup http://linux.die.net/男人/ 2 /關閉 – 2010-02-26 22:39:22

+0

真棒:)謝謝。 – 2010-02-26 23:23:31

3

引用計數器在內核中被廣泛使用以避免由於資源的併發分配和釋放引起的競爭條件。引用計數器只是與特定資源(如內存頁,模塊或文件)關聯的atomic_t計數器。當內核控制路徑開始使用資源時,計數器會自動增加,當內核控制路徑完成使用資源時,計數器會減少。當引用計數器變爲零時,資源沒有被使用,並且如果需要可以釋放它。

如果您想查看this以瞭解Linux內核引用計數實施的概述,那麼您可能會關注此事。

+0

非常有用的紙張。謝謝! – 2011-09-04 18:31:02