gpt4 book ai didi

Linux 进程创建 : User mode stack

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:49:51 25 4
gpt4 key购买 nike

我是 Linux 新手,从用户模式了解到,如果一个进程调用系统调用 fork(),那么该进程开始在系统模式下执行,并使用新的内核模式空间创建一个新的子进程(它包括堆栈也)被分配给新创建的子进程。我的问题是,1>如何以及何时为这个新创建的进程创建用户模式堆栈?2>内核如何知道这个新创建的进程的用户模式堆栈在哪里?3>在新创建的进程上下文中以内核模式执行时,内核能否访问用户模式堆栈?

如果我的问题或理解有误,请纠正我。

在此先感谢您的指导。

问候比贝克

最佳答案

fork() 复制分配给 fork 进程(父进程)的整个内存映射。它创建一个相同的进程,然后独立于父进程继续运行。

两者从相同的堆和栈开始。指向当前堆栈位置的 x86 寄存器指向父进程和子进程的相同内存地址(因为它们的内存映射是相同的)。

关于Linux 进程创建 : User mode stack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4141421/

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