
进程是一个操作系统中一个程序的“生命” 。程序是每个程序中都有的一部分,可以让运行在一个操作系统中的程序顺利地完成它的功能 。操作系统中各个进程之间的相互关系会随着时间的推移而发生改变 。由于进程是操作系统中各个操作系统进程的集合而产生的一系列变化,这些变化又都是不能用程序来解释的 。
1.进程都有自己的生命周期
进程都有自己的生命周期,它们是自己运行时间的记录 。操作系统中的所有进程在初始化的时候,进程名称、进程序号等信息就已经在每一个进程中存在 。每个进程在运行期间都会产生一个特定的记录作为一个周期内的记录 。
2.每个进程都是由一组特定的进程组成的,这组进程就是程序
所有使用操作系统的软件都是在进程集合中完成各自的功能,只有当同一个操作系统的各个进程之间彼此的功能都发生变化时,这一进程才会被创建出来并完成相应的功能 。进程集合(Update Path)主要是用来描述程序)之间相互关联及其变化的过程,进程集合中不同进程之间相互关联形成的这个特定的进程集合就构成了这个系统中所有程序的集合 。在每个进程上可以运行着一个变量或进程,但每个进程又是由一组程序组成的,这就形成了变量或进程之间相互关联的机制,当一个进程中变量和进程相互关联而相互限制或相互影响时这些变量或进程就有可能是完全无关的;当一个进程中变量和进程之间相互影响而相互限制或相互影响时这些变量或进程就有可能是相互关联的 。一般来说,当一个进程上有多个变量或多个进程之间有多个变量和进程类型时它们就变成了进程集合(Update Path) 。但如果在一个操作系统中有多个变量或进程是相互独立或相互连接,那么它们之间就成为一个虚拟了“进程集合”(Update Path) 。
3.只有完成特定功能的操作系统进程才能被称为进程 。
每个进程都有一个进程周期,它必须要根据系统任务完成的情况来确定它是在某一特定功能下被执行的还是仅完成该功能 。只有完成了特定功能但仍然未完成它的进程才可以称为进程 。但这些进程可以使用操作系统中特定的指令来帮助它们正在执行的功能 。
4.每个进程都是由一个或多个系统进程组成的
通过上面的定义,我们知道了所有进程都是由一个或多个系统进程组成的,而进程并不像程序一样只是由一个或多个系统进程组成的,进程之间存在着各种相互依赖的关系 。通过对这些相互依赖的关系进行分析,我们就可以得出一个更加清晰全面的判断:进程之间是一个相互依赖的网络关系,而程序和操作系统之间则是一个相互依赖的操作系统网络关系;同样,在一个系统中也存在着不同的进程之间相互的依赖关系,而且这些依赖关系有可能是相互独立甚至相互抵消的 。比如说系统进程中有几个进程是完全独立的,而在程序中则至少有几个进程是相互独立的,并且它们之间存在着某种相互关联和约束关系(通常称为映射关系);这样就可以在程序中找到这些相互独立的进程了:这个系统进程中有几个进程是相互连接的;这些相互链接的进程在程序中是没有连接的;它们在进程之间相互影响或者相互抵消时必须建立起相应相互联系;如果系统中有几个进程相互冲突时必须建立起相应相互作用和约束关系;如果一个程序中包含了两个以上操作系统进程并且在程序中都有这些相互影响和约束关系时(例如这些进程会相互耦合),它们之间就会形成一种互为映射关系,互相存在着相互影响和约束关系[4] 。进程之间相互依赖和制约意味着系统中可能会有很多不同的进程相互影响或制约着对方[5],,这就是我们所说的“进程循环”一词来源的原因了[6] 。
5.每个操作系统的进程都是独立的
【什么是进程,进程与程序有什么区别】
进程是相互独立的,它们之间是相互依赖的,任何进程的运行对操作系统来说都是一个连续的过程 。虽然这意味着我们在使用进程进行一些操作时可能会发生冲突,但事实上所有的进程都会运行在同一个操作系统上 。所以我们不能通过进程一步一步地改变进程之间的相互关系来解决问题 。在实际计算机系统中可能产生这种情况:当某个操作系统中的某个进程运行于同一个操作系统上时,其他进程就必须停止操作,而该进程就必须退出这一进程,并重新开始一个新的进程;当某个操作系统中的某个进程继续按照自己的指令执行其工作时,其他进程就必须停止该进程,而该进程继续执行其工作才是正常的;当某个进程退出后重新开始第二个操作时,所有的运行均按第二个进程的动作来进行操作(即“退出”),这个进程仍继续执行原操作;当某一个进程退出后重新开始第二个操作时,其余的进程也必须立即停止操作,该进程继续执行原有步骤(即“退出”)后再重新开始1个操作,直到另一个进程重新启动1个之后又返回原位;当另一个进程再次退出时,该进程仍继续按照原步骤(即“退出”)完成其工作(即“退出”)后又重新开始1个行动;当当市场所或计算机硬件发生故障时也必须先进行重新启动才能继续使用这个进程 。