1. fork函数写时拷贝的理解
若父子进程数据都不修改,则父子进程指向同一个物理地址,
若子进程数据修改,则拷贝一个物理空间,将新的地址填到子进程对应的页表中,使子进程重新映射,访问到新的空间
进程的内核数据结构,父子各自有一套,彼此双方互不影响,
代码和数据通过写时拷贝的反方式,实现分开
为什么要写时拷贝?
操作系统不允许浪费或者不高效的行为出现的
写时拷贝本质是一种资源筛选,当子进程尝试去修改子进程要用的空间,才进行分配.是一种按需所取资源的策略
2. 进程终止
情况分类
正常执行分为 结果正确, 结果不正确
崩溃了(进程异常)
崩溃的本质:进程因为某些原因,导致进程收到来自操作系统的信号
进程退出码
int main() return 0;
0代表进程退出码
正确就返回0,不正确就返回非0
供用户进行进程退出健康状态的判定