进程是处于运行过程中的程序实例,是操作系统调度和分配资源的基本单位。
一个进程实体由程序代码、数据和进程控制块组成的。其中程序代码就规定了进程所做的计算,数据是计算的对象,进程控制块就是操作系统内核为了控制进程所建立的数据结构,是操作系统用来管理进程的内核对象,也是操作系统用来统计进程信息的地方。系统给进程分配了地址空间,用来装载进程的所有可执行模块或者是动态链接库的数据和代码。进程还包含动态分配的内存空间,如线程的堆栈分配空间。
各种应用程序都是以进程的形式存在;
在Windows系统中,进程是分配资源的单位,但不是执行和调度的单位。要是进程完成某项功能,他必须拥有一个在他的环境中运行的线程,该线程负责执行所属的进程的地址空间的代码。
每个线程都有它自己的CPU寄存器和他自己的堆栈。每个进程是少拥有一个线程(当创建进程的时候系统会自动的创建他的第一个线程,称为主线程);