gpt4 book ai didi

linux - 为什么同一文件的 2 个 linux 进程不能共享文本段?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:18:46 26 4
gpt4 key购买 nike

我正在经历 linux 进程,我有以下疑问。

如果我从不同的 shell 执行同一个程序两次,将创建 2 个进程。我一直觉得文本段将由这两个进程共享。但是一些互联网页面建议文本段不会在进程之间共享。任何人都可以让我知道为什么它不能在不同进程之间共享吗?

最佳答案

在 Linux 和 Windows 等现代操作系统中,根据定义,进程都被隔离在自己的沙箱中。有共享库(so/dll)被操作系统去重,但它们只共享代码,没有任何存储内存。当一个进程试图访问自己进程空间之外的内存时,CPU 的 MMU(内存管理单元)部分会产生一个硬信号,如果没有被显式捕获或处理,它将终止进程。在 Linux 中,这称为“段错误”或段错误,在 Windows 中,这称为“访问冲突”。

要建立进程间通信 (IPC),程序必须通过同步对象和方法主动启动它,例如匿名/命名管道、内存映射文件、信号、信号量和更多取决于操作系统的东西。

关于linux - 为什么同一文件的 2 个 linux 进程不能共享文本段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25922181/

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