内存映射(mmap)和共享内存(shm)

内存映射(Memory mapping)技术和共享内存(Shared memory)是两个相关但不完全相同的概念。内存映射可以用来实现共享内存,但它们之间并非简单的包含关系。

两者的区别:

  • 内存映射是一种广泛应用的技术,可以用于实现存储映射I/O和共享内存等功能。
  • 共享内存是一种进程间通信方式,可以利用内存映射技术来实现。

内存映射

内存映射包括mmap, munmap

共享内存

是最快的进程间通信的方式,因为程可以通过操作内存来共享数据和实现通信,不必再调用read(),write()等操作。

预备知识

  1. 文件: 文件是计算机中用于存储数据的基本单位。通常,文件系统负责管理文件,允许用户创建、读取、写入和删除文件。文件可以包含各种类型的数据,如文本、图像、音频、视频等。在操作系统中,文件通常以层次结构的方式组织,例如目录(文件夹)和子目录。

  2. 内存: 内存(通常指随机访问存储器,RAM)是计算机中用于暂时存储数据和指令的硬件组件。当计算机运行程序时,程序和相关数据会加载到内存中。内存是易失性的,意味着在计算机断电后,内存中的数据会丢失。内存访问速度远快于磁盘和其他持久性存储设备,因此,操作系统通常使用内存来存储频繁访问的数据和程序。

  3. read()write() 是操作系统提供的系统调用,用于读取和写入文件。

REF:

内存映射(mmap)和共享内存(shm) - Lin_泠沐 - 博客园 (cnblogs.com)

你可能感兴趣的:(操作系统,操作系统)