Lab4 PartB: Copy-on-Write Fork-CSDN博客

网站介绍:如前所述,Unix提供fork()系统调用作为其主要的进程创建原语。fork()系统调用复制调用进程(父进程)的地址空间以创建一个新进程(子进程)。xv6 Unix通过将父页面的所有数据复制到为孩子分配的新页面中来实现fork()。这基本上与dumbfork()所采用的方法相同。将父级地址空间复制到子级是fork()操作中最昂贵的部分。然而,在调用fork()之后,通常会立即调用子进程中的exec(),这将用一个新程序替换子进程的内存。例如,这就是shell所做的事。在这种情况下,花费在复制父进程地