fork系统调用实现剖析

来源:互联网 发布:彩通网络小额贷款牌照 编辑:程序博客网 时间:2024/06/05 11:27

传智扫地僧课程学习笔记。




进程是对,cpu,。。。等资源的抽象




操作系统原理中,
经典进程3态,




linux内核,
涉及到的几个状态,单词,要背下来,
运行状态,(TASK_RUNNING)
可中断睡眠状态,(TASK_INTERRUPTIBLE)
不可中断睡眠状态,(TASK_UNINTERRUPTIBLE)
暂停状态,(TASK_STOPPED)
僵尸状态,(TASK_ZOMBIE)




就绪,对应,就绪,
运行,分为用户运行态,内核运行态,
等待,分为可中断睡眠,不可中断睡眠,
暂停状态,挂起,
僵尸状态,进程死了,等待父进程来收尸,




0号进程,系统空闲进程,
1号进程,第一个用户进程,
站在内核的角度,来编写应用程序,




fork之后,子进程复制父进程的什么?代码,堆栈,数据段,进程控制块PCB,


fork如何做到,一次调用,2路返回,呢。
linux内核让两个进程,在各自的内存空间返回,




这四点,是老师觉得和你重要的方面,
理解1:fork系统调用之后,父子进程将交替执行。//这个没什么好说的,进程调度嘛~
理解2:怎么样理解一次调用2次返回? //上面笔记有写,
理解3:怎么样理解,fork返回值大于零的是父进程,为什么这样设计:? //因为一个父进程对一个多个子进程,
理解4:怎么样理解分支在fork之后,而不是父进程main函数的开始? //因为内存四区已经设置好了,没必要再设置一次,



0 0
原创粉丝点击