如题,malloc 分配的物理内存在哪个区?dma_zone normal_zone 还是 highmem_zone?
malloc 只是针对虚拟内存的一种分配,实际物理地址到底哪里是 os 管的。
http://lwn.net/images/pdf/LDD3/ch15.pdf
#1 楼 @rasefon 那么操作系统根据需求有可能在任意一个区中对其进行分配了么? 另外,你知道 malloc 分配到的物理内存是否是连续的么?
#3 楼 @zhangyuxiu 这个和操作系统实现有关吧,具体我也不是很清楚,但是大体算法 OS 书上都有介绍,不同的 OS 实现也可能不一样。
#2 楼 @sevk 抱歉,没有看懂。 那个 pdf 里面,也没有讲有关 malloc 的分配啊。只有 kmalloc 和 vmalloc 的。
#5 楼 @zhangyuxiu 我也不懂,只是网上找来的资料。可能有帮助。
应用程序会“认为”自己分配到了一段连续的内存 但不一定对应于真实内存中一段连续的空间 真实的内存由操作系统管理 具体细节可以参考相关书籍。。。