linux – fork()copy-on-write是否可以用来实现只读共享内存的稳定暴露行为?

linux – fork()copy-on-write是否可以用来实现只读共享内存的稳定暴露行为?,第1张

概述fork()上的手册页声明它不复制数据页,它将它们映射到子进程并放置写时复制标志.那是行为: > Linux之间的一致性? >考虑实施细节,因此可能会改变? 我想知道我是否可以使用fork()作为一种手段以便宜的方式获得共享的只读内存块.如果内存是物理复制的,那将是相当昂贵的 – 有很多分叉正在进行,数据区域足够大 – 但我希望不… 在没有MMU(内存管理单元)的机器上运行的Linux将复制for fork()上的手册页声明它不复制数据页,它将它们映射到子进程并放置写时复制标志.那是行为:

> Linux之间的一致性?
>考虑实施细节,因此可能会改变?

我想知道我是否可以使用fork()作为一种手段以便宜的方式获得共享的只读内存块.如果内存是物理复制的,那将是相当昂贵的 – 有很多分叉正在进行,数据区域足够大 – 但我希望不…

解决方法 在没有MMU(内存管理单元)的机器上运行的linux将复制fork()上的所有进程内存.

但是,这些系统通常非常小并且嵌入式,您可能不必担心它们.

Apache的fork模型等许多服务使用initialize和fork()方法来共享初始化的数据结构.

您应该知道,如果您使用Perl和Python等使用引用计数变量或C shared_ptr的语言,则此模型将不起作用.它不起作用,因为随着参考计数的上下调整,内存变得非共享并被复制.

这会导致像SpamAssassin这样的Perl守护进程中的大量内存使用尝试使用初始化和fork模型.

总结

以上是内存溢出为你收集整理的linux – fork()copy-on-write是否可以用来实现只读共享内存的稳定暴露行为?全部内容,希望文章能够帮你解决linux – fork()copy-on-write是否可以用来实现只读共享内存的稳定暴露行为?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1028025.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存