【问题标题】:Are " process image" and "address space of a process" the same concept?“进程映像”和“进程的地址空间”是同一个概念吗?
【发布时间】:2016-04-18 22:26:16
【问题描述】:

我刚刚在 GNU Libc 手册中的 exec- 函数描述中看到了“进程映像”。它和进程的地址空间是同一个概念吗?谢谢。

【问题讨论】:

    标签: process operating-system


    【解决方案1】:

    我会说它们是相关的,但并不完全相同。

    进程映像是您从可执行程序中获得并加载到内存中的所有内容,以及在加载时添加或修改的所有内容。

    地址空间是它的所有虚拟地址,以及其中的任何内容。

    相同的东西 - 几乎 - 但不同的观点。

    很多时候,当我关心地址空间时,我只想知道某个特定地址是否对该进程有效,和/或当前可用的任何地址。也许我关心诸如“这个当前是常驻的;那个已经被调出;另一个在第一次访问时将被初始化为零”之类的细节。但是我真的不关心内容,也不关心text/data/bss/heap/stack/mmap等细节。

    当我关心进程映像时,我非常关心来自可执行文件的内容以及正确设置它。如果程序已经开始运行,我关心的是它的寄存器,而不仅仅是它的内存。

    【讨论】:

      【解决方案2】:

      一个过程包括:

      1. 地址空间
      2. 一个或多个执行线程。

      有时称为过程映像的部分包含两者。

      一个 exec- 函数将:

      1. 创建一个新的地址空间
      2. 清除所有线程并创建一个主线程。

      过程映像实际上与过程相同。

      【讨论】:

        猜你喜欢
        • 2018-02-02
        • 1970-01-01
        • 1970-01-01
        • 2017-05-18
        • 1970-01-01
        • 2014-07-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多