操作系统之进程与线程
进程
定义:
进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位。
组成:
包括程序代码、程序处理的数据、程序计数器、一组寄存器的值以及系统资源(如打开的文件)等。
特点:
动态性:进程是动态创建的,有生命周期。
并发性:多个进程可以在系统中并发执行。
独立性:进程之间的工作相互独立,互不干扰。
制约性:进程之间因共享资源或同步而产生制约关系。
线程
定义:
线程是进程中的一个执行单元,是进程内可调度实体。线程是操作系统能够进行运算调度的最小单位。
特点:
一个进程中可以同时存在多个线程,线程之间可以并发执行。
线程共享进程中的地址空间和资源,因此线程间通信和切换的开销较小。
一个线程崩溃,会导致其所属进程的所有线程崩溃(因为线程共享进程的资源)。
进程与线程的关系
包含关系:进程包含线程,一个进程至少有一个线程,也可以有多个线程。
资源分配:资源分配给进程,同一个进程的所有线程共享该进程的资源。
CPU调度:CPU分配给线程,即真正在处理器上运行的是线程。