操作系统——线程概念、多线程模型——2.5

回顾一下操作系统,本章讲解线程概念、多线程模型的知识点😁

1.引入线程

进程也需要“同时”做很多事,所以引入线程用于增加并发度(程序执行流的最小单位,最基本cpu执行单位)

2.线程机制 vs 进程机制 (引入线程后的对比)

  1. 资源分配、调度
    前:进程是资源分配、调度单位
    后:进程是资源分配基本单位、线程是调度的基本单位
  2. 并发性
    前:进程间并发
    后:各个线程间也能并发、提高并发度
  3. 系统开销
    前:切换进程开销大
    后:同一个进程内的线程切换,不需要切换进程的环境,系统开销小

3. 线程的属性

  1. 处理机调度的单位
  2. 多cpu,各个线程可以占用不同cpu
  3. 每个线程有一个tcb
  4. 线程也有就绪、阻塞、运行状态
  5. 线程几乎不用有系统资源
  6. 同一进程不同线程共享进程资源
  7. 共享内存地址空间
  8. 同一进程的线程切换不会引起进程切换
  9. 不同进程的线程切换会引起进程切换

4.线程的实现方式

  1. 用户级别
    线程的管理工作由应用程序负责,线程在用户态下完成
    在这里插入图片描述

  2. 内核级别
    线程的管理由操作系统内核完成,线程调度、切换等工作交给内核负责。内核级线程切换必须在内核态完成。
    在这里插入图片描述

  3. 同时支持用户和内核级线程的系统,采用二者的组合方式
    只有内核级线程才是处理机分配的单位
    如图:即使三个用户线程但是只有两个内核级线程,最多只有两个线程并行执行
    在这里插入图片描述

5. 多线程模型

  1. 多对一
    优点:不需要切换到核心态,系统开销小,效率高
    缺点:当一个线程阻塞后,整个进程被阻塞
    在这里插入图片描述

  2. 一对一
    优点:一个线程阻塞后,其他线程还可以继续执行,并发能力强
    缺点:一个用户进程会占用多个内核线程,切换到内核态开销大、线程管理成本高
    在这里插入图片描述

  3. 多对多
    克服前两个模型的缺点
    在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值