带有/ dev / zero的mmap

假设我使用/ dev / zero使用mmap分配一个大内存(40MB),如下所示。

fd = open("/dev/zero", O_RDWR); a = mmap (0, 4096e4, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_FILE, fd, 0); 

我所理解的是,内核将把内存初始化为零,因为页面被带入物理内存(我认为现代Linux内核使用按需分页 )。 例如,当第一页被触摸并因此被带入物理内存时,内核将其全部4096个字节初始化为零,然后当第二页被触摸时,它将执行相同的操作,等等。

我的理解是正确的吗?

Solutions Collecting From Web of "带有/ dev / zero的mmap"