malloc、kmalloc、vmalloc函數的區別

malloc()返回的頁在進程的虛擬地址空間內是連續的,但在物理地址空間內不一定連續

kmalloc()確保分配的內存區域在物理空間上是連續的(自然在虛擬地址空間上也是連續的)

vmalloc()只確保分配的頁(內存區域)在虛擬地址空間內是連續的。它通過分配非連續的物理內存塊,再“修正”頁表,把內存映射到邏輯地址空間連續的區域中

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章