共享内存原理和实现

实现原理

实现函数

1,ftok--shmget--shmat--shmdt

shmget用于分配映射物理内存的虚拟内存。

怎么保证不同进程访问同一块物理内存呢

key_t ftok(const char *pathname, int proj_id);

ftok的第一个参数是一个文件,只要使用同一个文件进行映射,不同进程就可以访问同一块物理内存。mmap也一样。

2,mmap--mummap

映射的物理是不是调用函数的时候就分配了

不是的,映射只是确定用于映射物理内存的虚拟内存,当程序真正使用到物理内存时才真的映射物理内存。

这个共享的内存是虚拟内存还是物理内存

相关推荐
Android小码家11 小时前
Vehicle 实战 自定义属性+测试demo
java·c++·framework·vhal·vehicle
hetao173383711 小时前
2026-10-19 hetao1733837 的刷题记录
c++·算法
夏虫不可与之言冰11 小时前
第三课 点亮 LED 与定时器非阻塞闪烁
c语言·c++·vscode·单片机·嵌入式硬件·物联网
辛苦才能11 小时前
C++ 哈希表深度解析:删除为什么必须打标记,负载因子为什么卡 0.7
开发语言·数据结构·c++·算法
miller-tsunami11 小时前
STL简介&string相关知识点
开发语言·c++·string
坤坤子吖11 小时前
Linux 线程同步与互斥——互斥锁
linux·服务器·c++·笔记·学习
TDTC_XQ12 小时前
Linux网络编程accept的讲解
linux·服务器·c++
FlightYe12 小时前
音视频修炼之容器与协议(一):MP4和MOV的box剖析
android·linux·c++·ffmpeg·音视频
音草13 小时前
AVL 树详解:从概念到 C++ 实现
c++
凉茶钱13 小时前
list:哨兵节点,const_iterator 和 const iterator的区别与迭代器失效
数据结构·c++·list