进程就是一个程序在一个数据集上的一次动态执行过程。
进程一般由程序、数据集、进程控制块三部分组成。(推荐学习:PHP编程从入门到精通)
我们编写的程序用来描述进程要完成哪些功能以及如何完成;数据集则是程序在执行过程中所需要使用的资源;进程控制块用来记录进程的外部特征,描述进程的执行变化过程,系统可以利用它来控制和管理进程,它是系统感知进程存在的唯一标志。
我们也可以理解进程是具有一定独立功能的程序在关于某个数据集合上的一次运行活动, 进程是系统进行资源分配和调度的一个独立单位。
也可以把进程当成由一组元素组成的实体,进程的两个基本的元素是程序代码(可能被执行相同程序的其他进程共享)和代码相关联的数据集。假设处理器开始执行这个程序代码,且我们把这个执行实体叫做叫做进程。
在进程执行时,任意给定一个时间,进程都可以唯一的被表征为以下元素。
1.标识符:跟这个进程相关的唯一标识符,用来区别其他进程。 2、状态:如果进程正在执行,那么进程处于运行态。 3、优先级:相对于其他进程的优先级 4、内存指针:包括程序代码和进程相关数据的指针,还有和其他进程共享内存块的指针。 5、上下文数据:进程执行时处理器的寄存器中的数据。 6、I/O 状态信息:包括显示的I/O操作。分配给进程的I/O设备(例如磁带驱动器)和被进程使用的文件列表等。 7、记账信息:可能包括处理器时间综合、使用的是时钟数总和、时间限制、记账号等。
为什么设计了进程?
设计出一个能够协调各种不同活动的系统软件是非常困难的。在任何时刻都有许多作业在运行中,每个作业都包括要求按照顺序执行的很多步骤,因此分析时间的序列组合是不可的。
由于缺乏能够在所有活动中进行协调和合作的系统级的方法,程序员只能基于他们对操作系统所控制的环境的理解,采用自己的特殊方法。然而这种方法是很脆弱的,尤其对于一些程序设计中的小错误,因为这些错误只有在很少见的时间序列发生时才会出现。
由于需要从应用程序软件错误和硬件错误中区分出这些错误,因而诊断工作是很困难的。及时检测出错误,也很难确定原因,因为很难在线错误产生的精确场景。
一般而言,产生这类错误的4个主要原因如下:
1.不正确同步
2.失败互斥。
3.不确定的程序操作
4.死锁
解决这些问题需要一种系统级别的方法监控处理器中不同程序的执行。进程的概念为此提供了基础。
因此进程可以看做是由三部分组成的:
一段可以执行的程序
程序所需要的相关数据
程序的执行上下文
以上是PHP中的进程是什么概念的详细内容。更多信息请关注PHP中文网其他相关文章!