RK3568平台开发系列讲解(Linux系统篇)共享内存的创建和映射过程

图片[1] - RK3568平台开发系列讲解(Linux系统篇)共享内存的创建和映射过程 - MaxSSL

?返回专栏总目录

文章目录

  • 一、共享内存的创建和映射过程流程梳理
  • 二、如何创建共享内存?
  • 三、如何将共享内存映射到虚拟地址空间?

沉淀、分享、成长,让自己和他人都能有所收获!?

?本篇我们一起学习下共享内存的创建和映射过程。

图片[2] - RK3568平台开发系列讲解(Linux系统篇)共享内存的创建和映射过程 - MaxSSL

一、共享内存的创建和映射过程流程梳理


  1. 调用 shmget 创建共享内存。
  2. 先通过 ipc_findkey 在基数树中查找 key 对应的共享内存对象 shmid_kernel 是否已经被创建过,如果已经被创建,就会被查询出来,例如 producer 创建过,在 consumer 中就会查询出来。
  3. 如果共享内存没有被创建过,则调用 shm_ops 的 newseg 方法,创建一个共享内存对象 shmid_kernel。例如,在 producer 中就会新建。</
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享