We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent c6256e2 commit c5d45b9Copy full SHA for c5d45b9
DB.md
@@ -9564,7 +9564,7 @@ fork()调用之后父子进程的内存关系
9564
9565
* 对于父进程的数据段,堆段,栈段中的各页,由于父子进程要相互独立,采用**写时复制**的技术,来最大化的提高内存以及内核的利用率
9566
9567
- 在fork之后两个进程用的是相同的物理空间(内存区),子进程的代码段、数据段、堆栈都是指向父进程的物理空间,**两者的虚拟空间不同,但其对应的物理空间是同一个**。当父子进程中有更改相应段的行为发生时,再为子进程相应的段分配物理空间,而代码段继续共享父进程的物理空间(两者的代码完全相同);而如果两者执行的代码不同,子进程的代码段也会分配单独的物理空间。
+ 在fork之后两个进程用的是相同的物理空间(内存区),子进程的代码段、数据段、堆栈都是指向父进程的物理空间,**两者的虚拟空间不同,但其对应的物理空间是同一个**。当父子进程中有更改相应段的行为发生时,再为子进程相应的段分配物理空间,如果两者的代码完全相同,代码段继续共享父进程的物理空间;而如果两者执行的代码不同,子进程的代码段也会分配单独的物理空间。
9568
9569
fork之后内核会将子进程放在队列的前面,让子进程先执行,以免父进程执行导致写时复制,而后子进程再执行,因无意义的复制而造成效率的下降
9570
0 commit comments