malloc分配的內存可能佔用多個頁面,而這些頁面並不一定相鄰,這是正確的嗎?malloc分配的內存不一定是物理連續的嗎?
1
A
回答
3
這是正確的。
物理上連續的內存只對DMA很重要,你不關心,因爲你不在內核空間。
它將在虛擬地址空間中連續。
3
是的,它們在物理上不能保證相鄰,但至少在過程的虛擬地址空間中它們看起來是。
在用戶空間中,您幾乎不必考慮物理內存和連續頁面。
1
malloc
會給你在虛擬地址空間連續的內存。如果你知道虛擬內存是如何工作的,你就知道虛擬頁面在物理上是連續的並不能保證。
相關問題
- 1. 連續內存塊的動態分配(malloc)
- 2. 與malloc連續內存塊
- 3. 由malloc分配的某些內存的內存映射或物理地址
- 4. 連續的'新'操作符是否連續分配內存?
- 5. 連續內存分配
- 6. 新[]是否連續分配內存?
- 7. GPU上的連續內存分配
- 8. malloc分配內存和SIGSEGV
- 9. Android內存分配器 - 內存是否需要連續?
- 10. 使用的sizeof()的malloc分配內存
- 11. 虛擬內存分配沒有物理內存分配
- 12. alloc_fresh_huge_page()只分配虛擬內存空間但不分配物理頁面嗎?
- 13. C中的malloc內存分配方案
- 14. 分配malloc的內存不會在函數範圍外持久存儲嗎?
- 15. 通過分割一個大的malloc分配內存
- 16. 是否通過的malloc分配的內存有邊界?
- 17. 如何分配內存使用C++而不是C malloc
- 18. newlib中的malloc():一次大的故障分配後會浪費內存嗎?
- 19. 使用malloc分配沒有分配的內存,怎麼樣?
- 20. 無法使用MALLOC分配內存
- 21. 使用malloc分配動態內存
- 22. 使用malloc動態分配內存()
- 23. malloc真正分配多少內存?
- 24. Malloc - >分配了多少內存?
- 25. Malloc分配內存超過RAM
- 26. 如何在內核中分配不可緩存的物理內存?
- 27. 是Malloc分配更多的內存,然後需要?
- 28. 大分配 - 像連續虛擬內存一樣?
- 29. malloc後,如何獲得更多的內存仍然是連續的?
- 30. 與malloc內存分配不完整類型的編譯錯誤
請參閱http://stackoverflow.com/questions/625270/does-malloc-allocate-a-contiguous-block-of-memory。 –
根據[http://stackoverflow.com/questions/625270/does-malloc-allocate-a-contiguous-block-of-memory][1],是的,它總是連續的。 [1]:http://stackoverflow.com/questions/625270/does-malloc-allocate-a-contiguous-block-of-memory –
@Drew:單詞 「物理」 是從顯眼該問題,並影響答案。 –