进程的基本概念以及如何创建子进程
发布网友
发布时间:2022-05-10 08:05
我来回答
共1个回答
热心网友
时间:2023-11-23 23:29
进程是一种动态描述,但是并不代表所有的进程都在运行。进程有两个基本元素,一个是程序代码(可能被执行相同程序的其他程序共享)和代码相关联的数据集。
任何计算机都包含一个基本的程序集合,称为操作系统(它的上层是shell),它的目的:往下,与硬件交互,管理所有的硬件资源;往上,为用户程序提供一个良好的执行环境。
我们应该知道程序是一个二进制文件,它存在与硬盘,当它运行的时候就有了动态的属性,此时有了两份拷贝,一份在硬盘,一份在内存(我们把内存中的程序叫做进程)此时的管理对象变成了内存中的可执行程序,而要管理的话就需要先描述,描述就需要一个结构体来包含进程中所有的信息。PCB就是来描述进程的,PCB就是一个个结构体。
进程的描述:必须要有PID,每个进程在内核中都有一个进程控制块(PCB)来维护进程的相关信息,linux内核的进程控制块是task_struct结构体。
task_struct与PCB之间的关系:PCB是进程控制块的统称,而task_struct是一种数据结构。