linux创建新进程的过程
来源:互联网 发布:下载软件管家360 编辑:程序博客网 时间:2024/05/22 19:34
在进程中调用fork()来创建子进程。fork()进一步调用do_fork(),要完成任务有:
1. 在内存空间为新进程分配任务结构体使用的空间,然后把当前进程的任务结构体的所有内容拷贝到子进程的任务结构体中;
2. 为新进程在其虚拟内存建立内核堆栈;
3. 对于新进程任务结构体中的部分内容进行初始化设置,例如,进程的链接关系,包括族亲关系、进程的标识和标志、各个定时器的初值等。主要是与父进程中不同的那些数据;
4. 把父进程的资源管理信息拷贝给子进程,包括虚存信息、文件信息、信号信息等。
5. 把子进程的剩余运行时间片变量counter设置为父进程counter的一半;
6. 把子进程加入到可运行队列中,由调度进程在适当时机调度运行。
7. 无论哪个进程使用cpu运行,都会继续执行do_fork()函数中的剩余代码,并返回他们各自的返回值(父进程中返回子进程的PID,子进程中返回0)。
0 0
- linux创建新进程的过程
- linux创建新进程的过程
- linux创建新进程的过程
- linux创建新进程的过程
- 分析Linux内核创建一个新进程的过程(Linux)
- 分析Linux内核创建一个新进程的过程
- 分析Linux内核创建一个新进程的过程
- Linux内核创建一个新进程的过程
- 分析Linux内核创建一个新进程的过程
- Linux内核创建一个新进程的过程
- 分析Linux内核创建一个新进程的过程
- 分析Linux内核创建一个新进程的过程
- Linux内核创建一个新进程的过程
- 分析Linux内核创建一个新进程的过程
- 分析Linux内核创建一个新进程的过程
- 分析Linux内核创建一个新进程的过程
- Linux内核创建一个新进程的过程
- 分析Linux内核创建一个新进程的过程
- 逆序输出单链表
- Linux 权限管理之一:文件夹的 rwx 权限
- 【项目实战】--Office文件预览
- sgu240:Runaway(二分+最短路)
- SpringBean的生命周期
- linux创建新进程的过程
- 集合框架的学习总结List,Set
- inupt textarea提示文字(点击消失,不输入恢复)
- Oracle sql developer 连接数据库显示IO错误的解决方法
- cocos2d-x3.1.1schedule_selector类型转换无效
- spring4.0源码下载
- Eclipse + Android + 真机调试的问题
- Java Swing 中插入图片背景
- 网页元素居中攻略记_(1)元素水平居中