linux创建新进程的过程

来源:互联网 发布:php soapheader详解 编辑:程序博客网 时间:2024/05/22 00:06

linux系统中创建新进程使用fork()系统调用。所有进程都是通过复制进程0而得到的。都是进程0的子进程。linux创建新进程的过程:

1.系统首先在任务数组中找出一个还没有被任何进程使用的空项。如果数组已满,没有空项,则fork系统调用出错返回。系统将会为新建进程在内存区中分配一页内存来存放其任务数据结构信息,并复制当前进程任务数据结构中的所有内容作为新进程任务数据结构的模板。

2.对复制的任务数据结构进行修改。把当前进程设置为新建进程的父进程,清除信号位图并复位新进程各统计值,并设置初始化运行时间片值为15个时间滴答数。接着根据当前进程设置任务状态段(TSS)中各寄存器的值

3.系统设置新任务的代码和数据段基址、限长,并复制当前进程内存管理的内存页表。

4.如果父进程中有文件时打开的,则应将对应文件的打开次数增1。

0 0
原创粉丝点击