文章预览
搞过Linux人都知道,Linux的世界中,进程的虚拟地址空间有两部分组成:内核空间和用户空间,内核空间各个进程直接共享,而用户空间彼此隔离,大家井水不犯河水。但是并不是老死不相往来,我们有时候需要进程直接共享一些数据,于是乎,Linux就有了共享内存的机制。 我们在使用Linux时,匿名页和文件页这两种类型的页面经常在我们耳边回荡,我们或多或少都知道,文件页会关联文件系统中的文件,而匿名页不关联任何文件,但是经常在回收时会将其保存到交换设备(前提是系统打开了交换设备)。你是否知道,Linux世界中还存在第三种页面-共享内存页,它是那么的特殊,以至于同时具备文件页和匿名页的的一些特征(如会关联文件,存在page cache,同时也具备交换功能),正所谓是“跨界的老演员”了。 本文将揭开Linux共享内存的神秘面纱,
………………………………