Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 处理独立函数以分配hugepage_C_Memory Management - Fatal编程技术网

C 处理独立函数以分配hugepage

C 处理独立函数以分配hugepage,c,memory-management,C,Memory Management,我正在阅读hugetlb.c,发现alloc\u-maging\u-page()可以分配巨大的页面,但依赖于进程,这意味着它的参数struct-vm\u-area\u-struct*vma是每个进程的虚拟内存区域。然而,我想要的是一个独立于进程的数据结构,因为我想要在虚拟内存空间中构建文件系统,并尝试将2MB块分配给我的文件系统 有人能解释一下吗?您可以使用文件映射共享内存: 您也可以使用shmem之类的库,但我不确定它是否支持Win32/64您可以使用文件映射共享内存: 您也可以使用诸如shm

我正在阅读
hugetlb.c
,发现
alloc\u-maging\u-page()
可以分配巨大的页面,但依赖于进程,这意味着它的参数
struct-vm\u-area\u-struct*vma
是每个进程的虚拟内存区域。然而,我想要的是一个独立于进程的数据结构,因为我想要在虚拟内存空间中构建文件系统,并尝试将2MB块分配给我的文件系统


有人能解释一下吗?

您可以使用文件映射共享内存:


您也可以使用shmem之类的库,但我不确定它是否支持Win32/64

您可以使用文件映射共享内存:


您也可以使用诸如shmem之类的库,但我不确定它是否支持Win32/64

您能详细解释一下您试图编写的代码类型吗?我猜这是在Linux中?内核模式代码还是用户空间?你知道FUSE(用户空间中的文件系统)吗?你能解释一下你想写什么样的代码吗?我猜这是在Linux中?内核模式代码还是用户空间?你们知道FUSE(用户空间中的文件系统)吗?我想要的是在内核空间而不是用户空间中分配页面,所以我不能使用库。我认为alloc_size_page()可以,但它依赖于进程。alloc_fresh_Greg_page()是进程独立的,但它只分配虚拟内存空间,而不是真正的物理页面。我想要的是在内核空间而不是用户空间分配页面,所以我不能使用库。我认为alloc_size_page()可以,但它依赖于进程。alloc_fresh_Greg_page()是进程独立的,但它只分配虚拟内存空间,而不是实际的物理页面。