gpt4 book ai didi

security - 关于虚拟内存

转载 作者:行者123 更新时间:2023-12-02 22:08:54 25 4
gpt4 key购买 nike

我有一个关于虚拟内存的微妙问题。我在一本书中读到了这句话

When the ELF file is executed, the text and the two data segments are loaded into separate areas of virtual memory

但是,如果我们编译一个由两个源文件组成的 C 程序而不链接,它将产生两个目标文件。在这两个目标文件中,寻址都是从零开始的。然后,如果我们将两个目标文件链接到一个可执行文件并检查它,我们将观察到寻址不再从零开始,而是已经将某个地址分配给每个段。据我了解,这个分配的地址是虚拟内存地址。所以我有两个问题:

  1. 那么我是否正确,是链接器从操作系统请求一些虚拟内存范围并将其分配给程序段?
  2. 引用的作者说进程执行时分配虚拟地址是什么意思?

最佳答案

链接器将分配一个虚拟地址,该地址可用作加载段的“基址”。所以是的,链接器确实分配了虚拟地址基数。操作系统只是将此内存映射到物理地址。分配就是操作系统将物理地址分配给虚拟地址。

关于security - 关于虚拟内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8761875/

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