进程:程序的一次执行过程。具有独立功能的程序在某个数据集合上的一次执行过程。是系统资源分配和调度的基本单位。
线程:进程的一个实体。进程中的执行实体或者执行单元。是CPU调度和分配的基本单位。
区别联系:
1 地址空间和资源:不同的进程的地址空间是独立的,而同一进程内的线程共享地址空间;进程是拥有资源的基本单位,线程基本上不拥有系统资源(有一点必不可少的资源),但线程可以访问隶属于进程的系统资源。
2 分配和调度:进程是资源分配的基本单位,线程是处理机(CPU)调度的基本单位;在同一进程中进行线程的切换不会引起进程的切换,在不同的进程中进行线程的切换会引起进程的切换;
3 并发性:进程之间可以并发执行,多个线程之间也可以并发执行;线程更小,多线程程序并发性更高;
4 系统开销:创建和撤销进程时,系统需要分配和回收资源,进程创建和撤销的开销远大于线程;进程的切换涉及当前执行进程CPU环境的保存及新调度的进程的CPU环境的设置,而线程的切换只需要保存和设置少量寄存器的内容,开销很小;
5通信方面:进程间通信需要进程同步和互斥手段的辅助,以保证数据的一致性,而线程间可以直接读写进程数据段(如全局变量)来进行通信。
引入进程的目的,是为了使多道程序并发执行,以提高资源利用率和系统吞吐量;而引入线程,则是为了减小程序在并发执行时所付出的时空开销,提高操作系统的并发性能。
PCB(process control block):进程控制块,一种数据结构,描述进程的基本情况和运行状态,进而控制和管理进程;PCB是进程存在的为一标志。
进程的特征:1 动态性, 2 并发性,3独立性,4异步性,5结构性(进程实体由程序段,数据段和进程控制段)
进程的五种状态:1 创建 ,2 结束 ,3 运行 ,4 阻塞,5 就绪;
三种基本状态: 运行,就绪,阻塞
进程间通信:进程之间的消息交换,PV操作低级通信,及高级通信
1 共享存储:基于存储区的共享
2 消息传递:直接通信(放送进程直接把消息放送给接收进程);间接通信(发送进程把消息发送到某个中间实体中,接收进程从中间实体中取得消息)
3 管道:连接读进程和写进程以实现它们之间通信的一个共享文件,pipe文件。
进程的调度:抢占方式和非抢占方式
同步:进程间的一种关系;相互合作,协同工作的进程间的关系;
互斥:进程间因挣用临界资源而互斥执行的关系;
临界资源:一次只允许一个进程使用的资源;对临界资源的访问需要互斥的进行;
参考网页:进程和线程管理