gpt4 book ai didi

linux - 文件的哪些字节保持映射?

转载 作者:太空狗 更新时间:2023-10-29 11:12:38 24 4
gpt4 key购买 nike

一个文件被系统调用映射:

mmap(65536, 32768, READ, FLAGS, fd, 0)

页面为 8 KB,因此映射了文件的 4 页(32768/8k = 4 页)。然后进行如下调用:

munmap(65536, 8192)

删除内存映射的指定部分。文件的哪些字节保持映射?答案是第 2 页和第 3 页仍然存在,因此只剩下字节 16384 到 32767;但是,我不确定这是对的。由于 munmap 命令的 len 参数(第二个参数)是 8192 字节,难道不应该只删除第 0 页,留下 8192 到 32767 字节吗?

最佳答案

你和答案都错了,但方式不同。

大多数系统上的内存页是 4 KB(4096 字节),而不是 8 KB。我从未听说过具有 8 KB 内存页的系统。

这使得整个 32768 字节的映射变成了 8 页。取消映射前 8192 个字节(2 页)会将剩余的 6 页(2 到 8)留在原处。

关于linux - 文件的哪些字节保持映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40099701/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com