fork ()函数是一个很有意思的函数,它可以建立一个新进程,把当前的进程分为父进程和子进程。但是,有些学员在初次学习这个进程分裂函数的时候,总会出现不能理解其返回值的现象,本文对fork函数的使用及其返回值作详细的分析。
fork出现后,申请创建一个独立的页表,产生子进程并且分配空间给子进程。子进程继承父进程的代码段、数据段、堆栈的内容,但是页表不一样,数据(注意是数据)不同(子进程的数据一定都不是父进程的),虚拟地址不一样,但是物理地址一样,父进程为子进程分配页表,子进程拥有自己的独立的地址空间。注意:父进程与子进程用的是一个MMU!