fork() 返回之后,你的子进程拿到了一个全新的 PID,拥有了独立的 task_struct,看起来一切都是崭新的——但如果你在这个时刻用 /proc/[pid]/pagemap 去查父子进程中同一个虚拟地址对应的物理页帧号(PFN),你会发现一个让很多写了五年以上 C++ 的工程师都感到不安的事实:它们指向的是 DRAM 芯片上完全相同的物理地址,同一组晶体管,同一批电荷。你在子进程里读一个全局变量,CPU 从主存取回的那个 cache line,和父进程读同一个变量时取回的 cache line,在物理层面是同一份数据的同一次访问——这不是"概念上共享",不是"逻辑上等价",而是硬件级别的、bit-for-bit 的同一份物理内存。写一段代码验证这件事:// 验证 fork 后父子进程物理页帧相同#includestdio.h#includeuni