共享内存

通过使用 shmat() 或者 mmap() 子例程,文件可以明确地映射到内存。 此进程可以避免缓存和系统调用开销。

内存区域被视为共享段或区域。 对于受影响的 32 位应用程序,会释放段 14 来提供未包括在共享库数据或共享库文本段内的 11 个共享内存段。 此方法应用于具有段 3-12 和 14 的进程。 这些段中的每一个的大小都是以 256 MB 计的。 应用程序可通过从段读取或写入到段来读取或写入文件。 应用程序可通过对这些映射段的指针进行操作来避免调用读/写系统函数的开销。

文件或数据也可以被多个进程或线程所共享。 然而,这需要进程或线程的同步,并且处理取决于应用程序的请求。 共享内存通常由数据库应用程序使用,使用数据库作为大型数据库缓冲区高速缓存。

为共享内存区域分配调页空间类似于进程专用段。 如果关闭了延迟页面空间分配策略,那么访问页面时会使用调页空间。