先决条件 – 操作系统中进程的状态
可以对进程执行两种基本操作:创建和删除。它们解释如下。
1 .流程创建:
- (一世)。当一个新进程被创建时,操作系统为其分配一个唯一的进程标识符(PID)并在主进程表中插入一个新条目。
- (二)。然后为进程的所有元素(如程序、数据和堆栈)分配所需的内存空间,包括其进程控制块 (PCB) 的空间。
- (三)。接下来,初始化PCB中的各种值,例如,
- 进程标识部分填充有在步骤(1)中分配给它的 PID 及其父级的 PID。
- 除了堆栈指针和程序计数器外,处理器寄存器值大多用零填充。堆栈指针用步骤(ii)中分配给它的堆栈地址填充,程序计数器用其程序入口点的地址填充。
- 进程状态信息将设置为“新”。
- 默认情况下优先级最低,但用户可以在创建期间指定任何优先级。
一开始,进程没有分配给任何 I/O 设备或文件。用户必须请求它们,或者如果这是一个子进程,它可能会从其父进程继承一些资源。
- (六)。然后操作系统会将这个进程链接到调度队列,进程状态将从“新建”更改为“就绪”。现在进程正在争夺 CPU。
- (五)。此外,操作系统将创建一些其他数据结构,例如日志文件或记帐文件,以跟踪进程活动。
2 .进程删除:
进程在执行完最后一条语句后自行终止,然后操作系统使用 exit() 系统调用来删除其上下文。然后该进程持有的所有资源,如物理和虚拟内存、10 个缓冲区、打开的文件等,都被操作系统收回。进程 P 可以被操作系统终止,也可以被 P 的父进程终止。
由于以下原因之一,父母可以终止进程,
- (一世)。当现在不需要分配给孩子的任务时。
- (二)。当孩子占用的资源超过其限制时。
- (三)。进程的父进程正在退出,因此它的所有子进程都被删除。这称为级联终止。