linux – fork()copy-on-write是否可以用来实现只读共享内存的稳
发布时间:2020-12-14 01:27:21 所属栏目:Linux 来源:网络整理
导读:fork()上的手册页声明它不复制数据页,它将它们映射到子进程并放置写时复制标志.那是行为: Linux之间的一致性? 考虑实施细节,因此可能会改变? 我想知道我是否可以使用fork()作为一种手段以便宜的方式获得共享的只读内存块.如果内存是物理复制的,那将是相当
fork()上的手册页声明它不复制数据页,它将它们映射到子进程并放置写时复制标志.那是行为:
> Linux之间的一致性? 我想知道我是否可以使用fork()作为一种手段以便宜的方式获得共享的只读内存块.如果内存是物理复制的,那将是相当昂贵的 – 有很多分叉正在进行,数据区域足够大 – 但我希望不… 解决方法
在没有MMU(内存管理单元)的机器上运行的Linux将复制fork()上的所有进程内存.
但是,这些系统通常非常小并且嵌入式,您可能不必担心它们. Apache的fork模型等许多服务使用initialize和fork()方法来共享初始化的数据结构. 您应该知道,如果您使用Perl和Python等使用引用计数变量或C shared_ptr的语言,则此模型将不起作用.它不起作用,因为随着参考计数的上下调整,内存变得非共享并被复制. 这会导致像SpamAssassin这样的Perl守护进程中的大量内存使用尝试使用初始化和fork模型. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |