栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

MAP_NORESERVE的mmap是否保留物理内存?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MAP_NORESERVE的mmap是否保留物理内存?

Mmap()是管理{地址,物理内存,磁盘块}之间的关联的方法之一,该关联的所有三个成员都是资源。关联保存在页面表项(PTE)中

mmap()的实际作用是:

  • [也许]在用户进程内部分配一个地址范围。此范围必须包含连续的地址(不应与现有范围重叠)
  • 为请求的范围创建PTE,并使它们指向地址范围内的页面
  • 将PTE指向要进行mmap()处理的文件
  • [也许]分配和预取(某些)页面
  • [也许]保留一些后备存储。

上述步骤中有很多(5之3)是可选的,并取决于mmap()调用中提供的实际参数和标志。(fd可能为-1:创建匿名映射,起始地址可能为NULL:mmap应该分配(以前)未使用的内存范围)

调用mmap()之后,内核中的pagefault-handler应该能够找出要做什么。(将物理内存附加到页面上;刷新并分离;分配并COW,…)

保留交换空间意味着调用方相信 将来任何时候
都将有足够的交换空间。交换空间由所有进程共享,因此永远不能保证有足够的交换空间。预分配它(或多或少)可确保 调用过程
将始终具有足够的分配量。(否则:mmap()应该失败了)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/405660.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号