存储映射I/o -- mmap

存储映射I/o – mmap

  • 概念:存储映射I/O(Memory-mapped I/O)使一个磁盘文件与存储空间中的一个缓冲区相互映射。于是当从缓冲区中数据,就相当于读文件中的相应内容。
  • void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset)
    • 参数说明:
      • addr: 指定映射区的首地址。通常传NULL,表示系统自动分配
      • length: 共享内存映射区的大小。<=文件大小。
      • pro: 共享内存映射区的读写属性
      • flags: 标注共享内存的共享属性。是否是共享的。MAP_SHARED、MAP_REIVATE。
      • fd: 用于创建共享内映射区的那个文件的文件描述符
      • offset: 偏移位置。必须是4k的整数倍。
    • 返回值:成功,返回内存映射区的首地址;失败,MAP_FAILED,-1,errno

你可能感兴趣的:(Linux)