加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

当我在Unix中调用fork()时会发生什么?

发布时间:2020-12-15 19:17:22 所属栏目:安全 来源:网络整理
导读:我试图看这个,但是在调用fork()之后,我很难理解父进程和子进程之间的关系。 它们是完全独立的进程,只能通过id / parent id相关联吗?还是分享记忆?例如,每个进程的“代码”部分是重复的,以便每个进程具有自己相同的副本,或者以某种方式“共享”,以便
我试图看这个,但是在调用fork()之后,我很难理解父进程和子进程之间的关系。

它们是完全独立的进程,只能通过id / parent id相关联吗?还是分享记忆?例如,每个进程的“代码”部分是重复的,以便每个进程具有自己相同的副本,或者以某种方式“共享”,以便只有一个存在?

我希望这是有道理的。

以充分披露的名义,这是“作业相关”;虽然不是这本书的直接问题,但我有一种感觉,这主要是学术性的,实际上我可能不需要知道。

在进程看来,整个内存被重复。

实际上,它使用“复制写入”系统。第一次任一进程在fork()之后更改其内存,单独的副本由修改的页面(通常为4kB)组成。

通常,进程的代码段不被修改,在这种情况下它仍然被共享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读