c - mprotect有多快

标签 c linux mmap mmu

我的问题是mprotect 有多快。与 1 GB 的连续内存相比,mprotecting 说 1 MB 的连续内存有什么区别?我当然可以测量时间,但我想知道幕后发生了什么。

最佳答案

对源的快速检查似乎表明它迭代了选定区域中的进程映射并更改了它们的标志。如果您保护的不是整个映射,它会将其分成两个或三个。

简而言之,它是 O(n),其中 n 是您调用 mmap 的次数。

/proc/pid/maps可以看到当前所有的 map

关于c - mprotect有多快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7104702/

相关文章:

C - 异或循环 - Kattis - Oddmanout

c - 如何计算目录中特定类型文件的数量

C - 使用 mmap 时出现总线错误

python - 将终端输出重定向到 tkinter

linux - bash 脚本中的参数数量

c++ - 使用 mmap 读/写寄存器

linux - mmap内存保护PROT_NONE的目的是什么

c - 如果丢弃长度数据,C 的数组语法有什么意义?

c++ - 帮助解决 c 错误

linux - 是否有用于创建 AVI 文件的 Linux 库?