首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >关于共享内存的梳理和总结

关于共享内存的梳理和总结

原创
作者头像
阑梦清川
发布2025-10-06 18:53:47
发布2025-10-06 18:53:47
870
举报
文章被收录于专栏:linux学习指南linux学习指南

1.共享内存

共享内存使用映射的方式,把我们的共享区域内容映射到不同的进程的地址空间里面去;

image-20251006142919078
image-20251006142919078

操作系统修改不同的进程的页表,让不同的进程的空间指向我们的物理内存的同一块区域里面去;

image-20251006142953529
image-20251006142953529

为什么这个key需要我们的进程自己进行随机生成,而不是操作系统统一进行管理,这个下面给出来了明确的通俗的解释;

image-20251006145558805
image-20251006145558805

key和shmget之间的区别,以及我们的shmid是给我们的进程进行使用的,方便我们的进程对于共享内存进行后续的操作;

image-20251006145652507
image-20251006145652507

shmget创建这个共享内存,我们的shmat指向了进程里面的虚拟内存,完成这个映射的工作:从此我们的进程可以针对于这个共享内存进行访问和操作;

image-20251006145844868
image-20251006145844868

通过类似的引用计数的操作,当我们的计数器的数字变为0的时候,这个数字幽灵,也就是我们的共享内存才会被完全的删除;

image-20251006150000555
image-20251006150000555

不同的IPC通信机制的结合使用,解决我们的共享内存不提供同步保护机制的问题;

image-20251006150133970
image-20251006150133970

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.共享内存
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档