内存分配在哪里?哪个地址空间是新内存?
答案 0 :(得分:1)
Windows中有两种常见的共享内存类型。
一种是当多个进程将同一文件映射到内存时。这显然发生在可执行文件和库中,但它也可能出现在数据文件中。基本上,进程共享此内存的事实几乎没有影响它的工作方式。它通过相同的请求分页实现,如果单个进程映射它就会发生。
另一种类型是共享的匿名映射。这些可以通过调用CreateFileMapping函数来创建,而无需指定要映射的有效文件。这与分配内存的行为相同,只是多个进程可以访问它。就像正常的内存使用情况一样,如果没有访问它,或者为了其他目的需要RAM,它可以被分页到磁盘。
对于共享的匿名映射,内核为进程提供了内存句柄,以便进程在想要将其映射到内存空间时可以引用它。