gpt4 book ai didi

linux - 负责虚拟内存的内核代码

转载 作者:太空宇宙 更新时间:2023-11-04 04:18:12 27 4
gpt4 key购买 nike

我知道“即使是单个进程也可以拥有比系统物理内存更大的虚拟地址空间”,所以只想知道哪个内核代码负责创建比物理内存更大的虚拟内存?

第二件事是,我可以更改代码以使其变大一点吗?如果我更改代码以扩展虚拟内存,是否有任何性能优势?

最佳答案

涉及所有内存管理(和 address space )管理代码。

从应用的角度,你应该了解更多virtual memory (内核控制 MMU 并处理 page faults ),特别是 mmap(2) , mprotect(2) , madvise(2) , execve(2)系统调用。应用程序使用这些系统调用更改其地址空间。您可以使用 proc(5)文件系统来查询它。例如,cat/proc/self/maps 显示了执行该 cat

的进程的地址空间

另请阅读Advanced Linux Programming 。了解更多 VDSO & ASLR .

内核内部,相关源码大多是它的mm/子目录(但几乎每个文件系统都有 mmap 特定代码,并且页面错误也与调度等有关......)

关于linux - 负责虚拟内存的内核代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15072400/

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