gpt4 book ai didi

linux - 通过虚拟内存,系统上运行的程序可以分配比物理可用内存多得多的内存;

转载 作者:太空宇宙 更新时间:2023-11-04 05:01:30 24 4
gpt4 key购买 nike

操作系统如何做到这一点

With virtual memory, programs running on the system can allocate far more memory than is physically available;

最佳答案

实际上是“多一点内存”,而不是“多一点内存”,否则你就是在试验thrashing .

每个台式机、笔记本电脑或服务器处理器都有一个 MMU 。它由 virtual memory 使用系统给予虚拟address space通过paging & page cache 。当内核得到page fault时,它可以从磁盘获取页面 - 例如在 ELF 的一段中可执行文件或共享对象或其他一些映射文件,或交换区域中的某些页面 - 或发送 SIGSEGV 信号,请参阅 signal(7) .

在 Linux 上,有几个 system calls可以更改地址空间:mmap(2)munmap (以及过时的 sbrk 等...)和 execve(2) 。您可以使用madvise(2)建议内核

您可以使用 cat/proc/$somepid/maps (例如 shell 中的 cat/proc/$$/maps)来了解某些 process 的地址空间映射。请参阅proc(5) .

点击上面的所有链接并阅读 Advanced Linux ProgrammingOperating Systems: Three Easy Pieces

关于linux - 通过虚拟内存,系统上运行的程序可以分配比物理可用内存多得多的内存;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31260430/

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