进程与线程
进程
- 由程序段、相关的数据段和PCB构成进程实体(进程)
- 进程是一个可拥有资源的独立单位,进程拥有的资源从操作系统角度看:存放程序代码与数据的磁盘,内存资源(内存地址空间),已打开的文件,信号量(进程间同步),共享内存(进程间通信)等
- 进程创建时系统分配其所必须的内存空间,IO设备,建立相应的PCB
线程
-
线程作为调度与分派的基本单位,线程是能独立运行的基本单位
-
线程本身并不拥有资源,只拥有一点必不可少的保证独立运行的资源:用于线程控制的TCB,程序计数器,寄存器和堆栈,它可与同属一个进程的其他的线程共享进程所拥有的全部资源
区别
- 一个程序至少有一个进程,一个进程至少有一个线程
- 线程的划分尺度小于进程(资源比进程少),使得多线程程序的并发性高(进程需要切换开销大,需要切换上下文,线程切换只需要保存少量寄存器内容)
- 线程不能够独立执行,必须依存在进程中