Filesystems 用c程序访问存储块

Filesystems 用c程序访问存储块,filesystems,storage,block,Filesystems,Storage,Block,我需要直接访问存储器的数据。我想从存储器中读取/写入一块数据,提供数据的偏移量和长度。 请建议一种方法或提供一些c代码来访问存储块(不是文件) 如果有人指导我使用自定义文件系统完成这项工作,我也会很高兴。您可以通过mmap(2)系统调用将文件的一部分映射到内存中。这是从地图上截取的 #包括 void*mmap(void*addr,size\u t length,int prot,int flags, int fd,off_t offset); int munmap(空*地址、大小和长度); m

我需要直接访问存储器的数据。我想从存储器中读取/写入一块数据,提供数据的偏移量和长度。 请建议一种方法或提供一些c代码来访问存储块(不是文件)


如果有人指导我使用自定义文件系统完成这项工作,我也会很高兴。

您可以通过
mmap(2)
系统调用将文件的一部分映射到内存中。这是从地图上截取的

#包括
void*mmap(void*addr,size\u t length,int prot,int flags,
int fd,off_t offset);
int munmap(空*地址、大小和长度);
mmap()在调用进程的虚拟地址空间中创建一个新映射。新映射的起始地址在
addr
中指定。
length
参数指定映射的长度


如果您不想使用文件,您想使用什么?实际上,如果我使用文件,那么每个文件块都应该映射到单独存储位置的存储中。我想使用SSD和使用不同SSD通道的SSD访问块。
#include <sys/mman.h>

void *mmap(void *addr, size_t length, int prot, int flags,
           int fd, off_t offset);
int munmap(void *addr, size_t length);