【Linux】IPC通信之共享内存

本文详细介绍了Linux系统中的共享内存通信,包括共享内存的概念、相关函数接口如shmget、shmat、shmdt、shmctl的使用,以及如何通过代码实现共享内存通信。此外,还探讨了共享内存的特点,如高效性、生命周期与内核相关以及其在SystemV IPC中的角色。
摘要由CSDN通过智能技术生成

共享内存概念

共享内存指的是,在多处理器的计算机系统中,可以被不同的CPU访问大量内存。由于多个CPU需要快速访问存储器,所以必须对存储器进行缓存。在缓存中的数据被更新后,其他处理器也可能要进行读取,共享内存就需要立即更新,否则不同的处理器将读取到不同的数据。共享内存是Unix、Linux下多进程通信的一种方式之一,这种方法通常用于一个程序的多进程间通信。实际上多个进程可以通过共享内存来进行通信

有关函数接口

与共享内存有关的接口有四个:shmget,shmat,shmdt,shmctl

 头文件<sys/shm.h>

              <sys/types.h>

              <sys/ipc.h>

进行共享内存的获取

int shmget(key_t key, size_t size, int shmflg)

参数

size 以页表为基本单位,是4k的整数倍(4096);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值