进程是一个可并发执行的、具有独立功能的程序关于某个数据集合的一次执行过程,也是操作系统进行资源分配和保护的基本单位。
进程的组成/结构
进程实体=程序段+相关数据段+PCB
程序段即用户所要执行的语句序列是必须有的。
相关数据段是指用户程序要处理的数据,数据量可大可小。有些进程的数据是包含在程序中的,这时就没有相关数据段。
进程控制块,即PCB(Process Control Block)。它是一个数据结构,用来存储程序向前推进的执行过程中所要记录的有关运行信息,即该进程动态执行的相关资料。
进程的特征
动态性。进程的实质是程序的一次执行,因此进程是动态的。既然是一次执行,就表明进程有生命周期,具有“创建-运行-消亡”的过程。
并发性。多个进程实体在一段时间内能够并发执行。引入进程的目的也正是为了使内存中的多个程序能够在执行时间上重叠,以提高系统资源的利用率。
独立性。每个进程都是一个独立运行的基本单位,也是系统进行资源分配和调度的基本单位。
异步性。各进程按各自独立、不可预知的速度向前推进。
结构性:为了描述和记录进程运行的变化过程,满足进程独立运行的要求以及能够反映、控制并发进程占用CPU,进程获取了所需要的资源即可执行,得不到所需资源则暂停执行。
进程与程序的区别
程序是指令的有序集合,是一个静态的概念,其本身没有任何运行的含义;进程是程序在CPU上的一次执行过程,是一个动态的概念。
程序作为软件资料可以长期保存;而进程则由生命周期,它因创建而诞生,因调度而执行,因得不到资源而暂停执行,因撤销而消亡。
程序作为静态文本既不运行,也不分配和调度;进程是一个独立运行的基本单位,也是系统进行资源分配和调度的基本单位。
进程与程序之间无一一对应关系。既然进程是程序的一次执行,那么一个程序的多次执行可以产生多个进程,而不同的进程也可以包含同一个程序。
程序是记录在介质(如磁盘)上指令的有序集合,而进程则由程序段、数据段和PCB这三部分组成。