操作系统 | 关于进程、线程、用户线程、内核线程

本文介绍了进程作为操作系统分配资源的基本单位,线程作为CPU调度的基本单位,强调了线程在进程内的独立性和共享性。区分了用户级线程和内核级线程,解释了在Linux系统中使用pthread库创建的线程实则是内核级线程,并讨论了线程调度和内核线程的角色。
摘要由CSDN通过智能技术生成

操作系统 | 关于进程、线程、用户线程、内核线程

一、进程和线程

进程:操作系统分配资源的最小单位

线程:CPU调度的最小单位

  • 每个线程共享进程的代码段
  • 每个线程共享进程的数据段
  • 每个线程共享进程的堆
  • 每个线程都有自己的栈和一些私有的数据,所以相互之间可以不受影响

以上的意思就是进程是线程的”容器“,而线程是可以被CPU调度的最小单元。

执行流:逻辑上独立的指令区域,简单点就是能上CPU执行的,它具有:

  • 内存资源
  • 一套寄存器映像
  • 独立体现在每个执行流都有自己的

线程就是一套机制,为一般的代码块创造上下文环境,从而让代码块独立,使这块代码块能被调度器认可,从而能被专门调度到处理器上执行。

比如一个进程上有多个函数,那么对函数A pthread_create,其实就是为函数A创建上下文,让它成为了能在CPU上执行的独立指令区域,即执行流。

线程本质上就是函数。[1]

代码块(函数) + 上下文 = 执行流(线程),可被OS调度。

进程 = 资源 + 线程

二、用户

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值