gpt4 book ai didi

multithreading - 有没有一种方法可以强制一个进程共享另一个进程的地址空间?

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

这是一个纯粹的理论问题。就我而言,每个进程具有不同的寻址空间,并且一个进程内的每个线程共享相同的内存空间?

有没有一种方法,尤其是在某些UNIX系统中,可以更改该行为。更清楚地说,要使两个进程共享相同的地址空间?
还是使同一进程中的两个线程具有不同的地址空间?

最佳答案

是的。 Google gvisor或臀部提供了有关如何执行此操作的示例。简而言之,您将从“母亲”流程开始,该流程将forks()创建新的子级。这些子项由ptrace()进行管理,该函数将其与内核隔离。然后,母进程会根据需要操纵子进程的地址空间。使它们相同是一种选择。

通常涉及一些自举技巧,因此当 child 调用fork()时,母亲会 fork 并执行一个已知的二进制文件(例如:空格布局),然后继续将原始的fork()ers空格克隆到新的二进制文件中。 。

关于multithreading - 有没有一种方法可以强制一个进程共享另一个进程的地址空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53837354/

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