2012-03-06 54 views
0

例如,我正在研究一個古老的內核,並且想知道它是否真正實現了Copy on Write。有沒有辦法(最好用C編程)來找出答案?如何查找基礎Linux內核是否支持寫入複製?

+1

沒有工作版本的Linux不支持COW。任何舊版本都有許多嚴重錯誤和安全漏洞,您無法使用它。 – 2012-03-06 17:50:36

+0

@R ..對不起,「古代」的措辭!這可能會誤導我的意圖。我想了解更多關於CoW的知識(我的意思是複製頁面,地址空間等) – 2012-03-06 17:53:14

+0

@R ..我覺得CoW的很多方面都會試圖回答這個問題 – 2012-03-06 18:01:18

回答

1

不,沒有一種可靠的編程方法可以從用戶級進程中找出問題。

COW背後的想法是它應該對用戶代碼完全透明。你的代碼觸及單獨的頁面,調用頁面錯誤,內核複製相應的頁面,你的過程就像沒有發生任何事情一樣恢復。

+0

它確定即使我必須編寫內核模塊:) – 2012-03-06 18:51:40

+0

此外,至於頁面錯誤,有沒有什麼辦法可以檢測到,以確認頁面上的副本是否已完成而不是在創建過程時? – 2012-03-06 18:53:19

+0

你可以鎖定頁面被換出,是否足夠? – 2012-03-06 19:03:00