mmap系统调用映射匿名页,难道不使用伙伴系统吗?

发布于 2022-09-04 13:48:35 字数 209 浏览 11 评论 0

最近我遇到了这样的问题,当glibc申请大块内存(大于128k)时会调用mmap映射匿名文件内存,这个匿名映射我不是很懂。匿名映射的页面对应的内存来自哪里呢?为什么底层不使用伙伴算法获取页级别的内存呢?(后来我查阅相关资料,匿名映射好像是内核创建匿名文件,内存应该是来自磁盘交换区。)请教各位大神,mmap为什么底层不用伙伴系统呢?为什么匿名映射不直接从内存DRAM中映射呢,反而要映射磁盘交换区的内存?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

空袭的梦i 2022-09-11 13:48:35

内存应该是来自磁盘交换区

啥?谁教你的?

mmap 就是 memory map,就是内存映射啊。它是从虚拟内存里分配地址空间的,在缺页(使用)时从内存时分配相应的页。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文