2016 - 2024

感恩一路有你

共享内存的使用实现原理 linux实现共享内存同步有哪些方法?

浏览量:2310 时间:2021-03-18 02:40:37 作者:admin

linux实现共享内存同步有哪些方法?

Linux的mmap文件内存映射机制是什么?

共享内存允许两个或多个进程共享给定的存储区域。因为数据不需要来回复制,所以它是最快的进程间通信机制。共享内存可以通过MMAP()映射普通文件(或在特殊情况下匿名映射)或systemv共享内存机制来实现。应用界面和原理非常简单,内部机制复杂。为了实现更安全的通信,通常与信号同步机制结合使用。例如,MMAP的机制是在磁盘上创建一个文件,并在每个进程内存中分隔一个映射空间。如果有多个进程,实际的物理内存(主内存)不会消耗太多。SHM机制:每个进程的共享内存直接映射到实际的物理内存。

1. MMAP被保存到实际的硬盘上,而实际的存储并不反映在主内存中。优点:存储容量大(比主存大);缺点:进程间读写速度比主存慢。

2. SHM存储在物理内存(主存)中,实际存储容量直接反映在主存中。优点:进程间访问速度(读写)比磁盘快;缺点:存储容量不能很大(超过主存)。使用方面:如果分配的存储容量不大,则使用SHM;如果存储容量较大,则使用MMAP。

共享内存的使用实现原理 linux共享内存如何实现 python创建共享内存

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。