进程和线程之间的关系
一、进程
1、进程:功能完整的程序在处理机上的执行过程
2、进程引入的目的:使多个程序并发执行,改善资源利用率、提高系统吞吐量
3、进程三个基本状态:就绪态、运行态、等待态
4、进程的静态描述由三部分组成:进程控制块(PCB),有关程序段,数据结构集
5、在PCB中主要包含以下几方面:
5.1、进程描述信息:标识
5.2、进程控制信息:进程当前状态,进程优先级,程序开始地址,各种计时信息,通信信息
5.3、资源信息
5.4、CPU现场保护信息(进程上下文)
6、进程的两个基本属性:
6.1、资源的拥有者:给每个进程分配一虚拟地址空间,保存进程映像,控制一些资源(文件、I/O设备),有状态、优先级、调度
6.2、调度单位:进程是一个执行轨迹
二、线程
1、线程:是进程内的一个相对独立的可调度的执行单元
2、线程引入的目的:减少程序并发执行时所付出的时间开销
3、线程的特点
3.1、有执行状态(状态转换)
3.2、不运行时保存上下文
3.3、有一个执行栈
3.4、有一些局部变量的静态存储
3.5、可存取所在进程的内存和其他资源
3.6、可以创建、撤销另一个线程
4、线程控制块(TCB):包含了寄存器映像,线程优先数和线程状态信息
三、线程与进程的比较
1、调度
同一进程中的线程切换不引起进程的切换
2、并发性
同一进程内多个线程
3、拥有资源
线程自己不拥有系统资源,可以访问其隶属进程的资源
4、系统开销
进程:分配、回收资源(内存、I/O设备)、切换(保护、恢复现场)