由于进程都有自己的私有地址空间,只能由自己来访问,那就意味着其它进程不能访问这个进程的地址空间,下文将用通俗的话和图解细说进程间是怎么通信的。
共享内存是linuxIPC通信最快的,基本原理是:多个进程共享一个物理内存(物理内存映射到共享此内存的进程地址空间)(公共的),看下图:


对共享内存的访问的数据称为临界区,临界区也就意味着任何时候只有一个进程访问临界区,

A先T1时间进入临界区,然后B想进入的时候,被互斥在外,等A在T2离开的时候B顺利进入!
本文深入浅出地解析了进程间通信的核心机制——共享内存,通过图解的方式阐述了其基本原理及操作流程。共享内存允许多个进程共享同一块物理内存,实现高效的数据交换。关键在于理解临界区的概念,即同一时刻仅允许一个进程访问共享内存,以避免数据竞争。本文还特别强调了mmap()函数的作用,它在进程间通信中的角色及工作方式。
由于进程都有自己的私有地址空间,只能由自己来访问,那就意味着其它进程不能访问这个进程的地址空间,下文将用通俗的话和图解细说进程间是怎么通信的。
共享内存是linuxIPC通信最快的,基本原理是:多个进程共享一个物理内存(物理内存映射到共享此内存的进程地址空间)(公共的),看下图:


对共享内存的访问的数据称为临界区,临界区也就意味着任何时候只有一个进程访问临界区,

A先T1时间进入临界区,然后B想进入的时候,被互斥在外,等A在T2离开的时候B顺利进入!

被折叠的 条评论
为什么被折叠?