函数简介
在Linux操作系统中,进程是资源分配的基本单位。所以说每个进程间有各自独立的存储空间,但是在某些情况下各进程要相互配合来完成特定任务,这样就使得进程间通信变得非常必要。进程间通信方式有多种,当然这不是我们这节要讨论的重点,这节主要说的是mmap函数,它是通过将一块物理内存映射到多个进程的虚拟地址空间上,来完成多个进程对同一块物理内存的读写从而使得进程间能够实现通信。
先看一下mmap函数的函数原型,如下:
参数说明:
addr:映射区的开始地址,设置为NULL时表示由系统决定映射区的起始地址。
length:映射区的长度。//长度单位是 以字节为单位,不足一内存页按一内存页处理
prot:期望的内存保护标志,不能与文件的打开模式冲突。是以下的某个值,可以通过or运算合理地组合在一起
PROT_READ //页内容可以被读取
PROT_WRITE //页可以被写入
&nb
深入理解mmap函数
最新推荐文章于 2025-10-27 00:00:15 发布
本文详细介绍了Linux中的mmap函数,用于实现进程间通信。通过映射同一块物理内存,父子进程可以共享数据。文中给出了匿名映射和文件映射的示例,并通过strace展示了系统调用过程,证明了mmap在进程间通信中的作用。


最低0.47元/天 解锁文章
405

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



