gpt4 book ai didi

process - 共享地址空间与复制页表条目

转载 作者:行者123 更新时间:2023-12-04 23:08:11 25 4
gpt4 key购买 nike

  • 之前 copy on write (COW) ,当它说父子进程共享相同的地址空间时,这意味着它们共享相同的代码段,数据段,堆和堆栈对吗?
  • 如果父子进程在COW之前共享相同的地址空间,the page table entries are copied from parent process to child process意思是?
  • 复制页表条目是否意味着复制地址空间?
  • 最佳答案

    假设您的进程有 var name X,其虚拟地址为 100,物理地址为 200。
    PTE 持有从虚拟 100 到物理 200 的地址映射。

    在 fork 之后,每个进程(父进程和子进程)都会有他的私有(private) PTE。此时,两个 PTE 都会将虚拟 100 映射到物理 200。

    只要两个进程都从那里读取,它们都会从物理地址 200 读取。

    当第一个尝试在那里写入时,来自物理地址的数据将被复制到一个新的物理空间,比如说 300,并且他的(并且只有他的)PTE 将被更新,因此虚拟 100 将映射到物理 300。方式对过程是透明的,因为他仍在使用相同的(虚拟)地址。

    *注意:这只是一个抽象,真实的事情发生在页面分辨率上。

    关于process - 共享地址空间与复制页表条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6196552/

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