はじめに 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