歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> 關於Unix

FreeBSD-7內核malloc源代碼分析


看FreeBSD-7的內核代碼有一段時間了,但是一直沒有能夠總結一下。由於沒有寫文檔,很多地方都是一帶而過,並沒有深入分析。為了逼自己能夠分析完整個malloc過程的代碼,我決定一邊分析一邊記錄自己的分析筆記。
一提到內存分配,自然會想到malloc和free這對雙胞胎。在FreeBSD內核裡,也有malloc和free這兩個函數。它們的參數與C語言標准庫裡面的略有不同,但是作用基本相同。下面就從malloc入手分析內存分配的過程。malloc的源代碼並不是很復雜,但為了分析方便,我刪除了一些調試、統計及診斷用的代碼,只列出具體的實現代碼。不過需要注意到是,單獨看malloc的代碼,有些數據結構的用途是無法分析清楚的,所以有些分析結果是我分析了free的代碼得出的。如果你遇到對數據結構的功能不清楚的情況可以去看看free的代碼。在此我就不再單獨分析free的代碼了。
Copyright © Linux教程網 All Rights Reserved