(P11)进程:复制进程映像、fork系统调用、孤儿进程、僵尸进程、写时复制

文章目录

在这里插入图片描述

进程包括:代码段+数据段+堆栈段+PCB
fork之后,子进程复制父进程的代码段+数据段+堆栈段+PCB,只有PCB中的PID和PPID是不一样的
父子进程具有独立的4GB的地址空间(32bit的系统)
在这里插入图片描述
int short
unsinged short
只能用%d的方式输出pid_t
调用一次,返回2次
在这里插入图片描述
为啥父进程fork之后返回>0的值?,不返回=0?
返回的就是子进程的id号码
因为PCB中不可能保存子进程的id列表,这样会使得PCB膨胀,信息太大
在这里插入图片描述
父进程加不加sleep,可能出现的情况如下:
父进程结束了,将控制权交给了shell提示符,子进程还没结束,子进程的输出信息就接在了shell提示符之后
在这里插入图片描述

父进程加上sleep,一定是子进程先运行结束,父进程才结束
在这里插入图片描述

14:58

在这里插入图片描述