use mmap and /dev/zero to allocate memory