《操作系统》第二章 2.1进程与线程

本章内容非常重要,王道考研书上总共分了四个部分,我也是分了四篇文章来进行总结和归纳。我参加过很多个岗位的面试,被问及最多的大概就行进程与线程了,前车之鉴了属于是。

1 内容概览

同样,这部分内容还是以王道考研的内容作为蓝本的(感谢王道考研^ - ^),先来看一下思维导图。
原文件(第二章所有)在这里。不仅有思维导图的原文件,还有PDF格式的思维导图。
源文件链接:第二章 进程管理
提取码:9o10
在这里插入图片描述

2 进程和线程的区别与联系

网上最常见的说法就是:
进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位。

也就是说,一个进程至少有一个线程。比方说,我们开发的一个软件在运行时候就会占用一个进程,但是有可能会同时包含多个线程。一个线程负责界面显示,一个线程负责网络通信。所以上,线程的引入,增加了程序运行的“并发度”

资源开销:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小

3 多线程模型

多线程模型分为三种,分别是多对一模型一对一模型多对多模型

3.1多对一模型

在这里插入图片描述
优点:线程是在用户空间进行的,不需要切换到核心态,效率较高。
缺点:从上图可以看出,这种模型是多个用户级线程对应一个内核级线程,因此这几个线程不能并行地运行在处理机上。一个线程阻塞,整个任务都无法进行。

3.2一对一模型

在这里插入图片描述
优点:一个用户级线程对应一个内核级线程,可以看作是彼此独立处理任务的,因此并发能力比较强。
缺点:因为用到的内核级线程和用户级线程数量相等,因此创建线程的开销比较大。

3.3多对多模型

在这里插入图片描述
多线程模型博采众长,是前两者模型的综合,这样既没有较高风险的进程阻塞,又避免了较多的内核级线程开销。达到了较好的效果。

:内核级线程才是处理机分配的单位。也就是说,即使有空闲的内核,也不能随便分配线程。

----------------------------------------------------------------------------------END----------------------------------------------------------------------------------

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值