はじめに mmap(2)とはmemory mappingを新規に作成するsystem callである。 #include <sys/mman.h> void *mmap(void *addr, size_t len, int prot, int flags, int fildes, off_t off); mmap(2)は下図(Reference[1]のch.49より引用)のようにmapping typeとprivate/sharedによって、大きく4つに区分できる。 Reference[1] ch.49 Private/Sharedはflags引数にMAP_PRIVATE, MAP_SHAREDをそれぞれ付加する。Fileの場合は、flagに付加すべきものはないが、第5引数にfile descriptorを与える。Anonymousの場合は、MAP_ANONYMOUSを付け加え、fd=N
![mmapにおけるMAP_PRIVATEの挙動 - 私のひらめき日記](https://cdn-ak-scissors.b.st-hatena.com/image/square/9e1044ad5b00f57d04f26854faea476262227f23/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fk%2Fknknkn11626%2F20190827%2F20190827115830.jpg)