进程:是资源分配的基本单位。所有与该进程有关的资源,都被记录在进程控制块PCB中。
进程:处理机的调度单位,拥有完整的虚拟地址空间。当进程发生调度时,不同的进程拥有不同的虚拟地址空间,而同一进程内的不同线程共享同一地址空间。
联系:
1、线程与资源分配无关,属于某一个进程,并与其他线程共享进程资源。
2、线程只由相关堆栈(系统栈或用户栈)寄存器和线程控制表TCB组成。
3、寄存器可被用来存储线程内的局部变量,但不能存储其他线程的相关变量。
4、进程在多线程中,进程不是一个可执行的实体。
两者比较:
1、调度和切换:线程上下文切换比进程上下文切换要快得多。
2、通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。
3、地址空间和其它资源(如打开文件):进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。