如何将分配的内存分解为多个区域并分配进程?

时间:2012-04-13 15:06:47

标签: c linux memory memory-management

我理解如何使用

分配“一大块”内存
int shmget(IPC_PRIVATE, int size, IPC_CREAT | 0666)

但是,如何将这一个内存区域划分为多个区域? 例如,

[          heap           ]
[region1][region2][region3]

然后,我相信在每个分叉的过程中我必须使用

int shmget(key_t shmid, 0, 0666)

访问某个地区我猜?...

我也看到很多与内存分配有关的在线网站“偏移”一词......这是什么意思?...

1 个答案:

答案 0 :(得分:0)

在现代的Linux系统上,没有太多理由使用shmget&公司请将shm_openmmap一起使用。界面更容易使用。

我不明白你是否想要自愿分区你的地图,或者这只是你读到的关于shmget的结果。但是如果您愿意,可以使用mmap轻松映射部分地区。