关于wait 和 exit

照着书上来的 大概理解一下这两个的作用

 

首先是exit

就是只一个程序执行完毕 然后将返回值存储到pcb中  然后主动调用exit 退出程序  然后由内核去回收页框 emmm

然后是wait 

wait从字面意思来讲就是等待 父进程通过wait 来将自己阻塞 然后系统会去执行子进程 子进程执行结束后 会将pid返回给内核 内核再将pid给父进程 并唤醒父进程 

这里引申出来的就是孤儿进程 和 僵尸进程  孤儿进程顾名思义 子进程未执行完成 父进程已经结束  这样的进程就被成为孤儿进程 此时的孤儿进程会被托付给init进程 

僵尸进程是指当父进程派生出子进程后并未调用wait去接收返回值 而子进程结束运行以后 内存被释放 但是所占的pcb无法回收(回收是通过父进程通过wait向内核发起请求获得返回值并将子进程回收)

无返回值 无法回收空间 就成了僵尸进程 也无法交给init收养

posted @ 2017-12-18 18:13  菜比170  阅读(747)  评论(0编辑  收藏  举报