浅谈进程&线程

学习过操做系统(下面简称OS)的都清楚,计算机计算的核心是CPU,操做系统是计算机资源的管理者 同事也是软硬件之间的接口。为了实现程序的并发,而引入了进程的概念。
在传统OS中,进程是个很重要的概念,它是系统可以独立分配资源、接受调度和运行的基本单位。进程使得程序可以并发执行,且得以控制。数据结构

进程

进程是是计算机中具备必定独立功能程序在某数据集合上的一次动态执行过程,是系统进行资源分配和调度的基本单位。并发

进程是一个“执行中的程序”,是程序的实体,有本身独立的地址空间。进程通常有程序段、数据段及进程控制块构成,即进程实体。异步

进程实体:程序段、数据段和PCB(Process Control Block)。性能

PCB:进程控制块,它是OS中核心的一种数据结构,它存放了OS全部进程的相关信息和描述。OS根据PCB对并发进程进行控制和管理。学习

定义ui

进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。spa

特征操作系统

结构性:进程实体是由程序段、数据段和PCB三部分组成不少时候说的进程指的是进程实体。
动态行:进程实质是进程实体的一次执行过程“它由建立而产生,由调度而执行,由撤销而消亡”。
并发性:多个进程实体同驻内存,在一段时间内能同时运行
独立性:它是系统分配资源和调度的基本单位。
异步性:进程实体异步方式运行,进程按各自独立、不可预知速度向前推动。线程

状态3d

下图显示了主要的进程的状态及各个状态之间的转换。这里不作过多说明,具体可自行查阅资料。

 

 

进程在建立、撤销和切换,系统都会为之付出较大的时空开销,用以分配或回收各类资源、建立或回收PCB以及处理CPU环境状态等。

所以OS中,进程数量不能太多 ,切换也不能太频繁,从而限制了OS的并发性能。特别是多处理机系统发展中,线程能更好的提升程序的并发性,充分发挥了多处理机的优越性。

线程

线程就是在上述条件下,OS引入的概念,有效改善了多处理机系统的性能。
线程也被称做轻型进程,以线程做为调度和分派的基本单位。

进程与线程的区别

  • 调度

引入线程前,进程是系统进行资源分配和调度的一个独立单位。
引入线程后,线程做为系统调度和分派的基本单位,进程做为资源拥有者基本单位
即,线程基本不拥有资源。同一进程中不一样线程切换不会引发进程切换(进程中线程切换到另外一进程中线程 会引发进程切换)。

  • 并发

进程间能够并发,同一进程间多个线程也能够并发。

  • 资源

线程基本不拥有资源(也有一点必不可少的资源,线程控制块TCB、用于指示被执行指令序列的程序计数器,保留局部变量、少数状态参数和返回地址 等的一组寄存器和堆栈),但它能够访问所隶属的进程的全部资源,即进程的代码段、数据段以及系统资源(如打开的文件、I/O设备)。

  • 开销

进程的建立、终止和切换都会产生较大时空开销(如前面线程引言所述),而线程只需设置少许寄存器便可,代价远低于进程

进程和线程区别的简单图表对比

进程(Process) 线程(Thread)
重量级 轻量级
进程间通讯较慢(不一样内存地址)            同进程中线程间通讯较快(共享内存地址)
切换代价大 切换代价低
独立的代码、数据、资源   

同进程中不一样线程共享隶属进程的代码、

数据和资源

进程是独立的 线程依赖进程,是进程的子集
资源拥有者基本单位 系统调度和分派的基本单位

 

 

 

 

 

 

 

 

 

 

 

 线程在进程中的简单示意图

同一进程中多个线程也是并发的。线程共享隶属进程的代码、数据和资源。

 


1.进程/线程的相关知识点来自于《计算机操做系统》
2.题外:PCB,这里是指进程控制块。
但在手机主板过程当中也常常提到的PCB是:(Printed Circuit Board)印制电路板,又称印刷线路板,是重要的电子部件,是电子元器件的支撑体,是电子元器件电气链接的载体。它是采用电子印刷术制做的。

3.若有不对或不足,欢迎指正。
 

--------------------

相关文章
相关标签/搜索