电脑死机的时候,CPU到底在做什么?

这篇具有很好参考价值的文章主要介绍了电脑死机的时候,CPU到底在做什么?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

电脑死机,应该每个接触计算机的小伙伴都经历过吧。

尤其是早些年,电脑配置还没现在这么高的时候,多开几个重量级应用程序,死机就能如约而至,就算你把键盘上的CTRL+ALT+DELETE按烂了,任务管理器也出不来,最后只能默默含泪长按关机按钮,强制关机。

那么,你有没有想过,电脑在死机的时候,它到底在干嘛呢?

众所周知,计算机的核心中枢是中央处理器CPU。上过计算机基础课程的同学都被教导过:CPU是一根筋死脑筋,只知道不断的取出指令来一条条执行,直到关机方休。

所以理论上,死机分为两种,一种是CPU罢工不干了,不再执行下一条指令了,这属于硬件死机,不过这种情况基本不会发生。

更多的是软件层面的死机,也就是CPU被困在了某个地方出不来了,导致本该执行的程序得不到执行,看起来就是死机了一般。

聪明的你可能马上想到,如果写一个死循环,把CPU陷在里面出不去,是不是就能死机了?比如这样:

void dead_loop() {
  while (1) {
    ...
  }
}

你可以试一下,会发现为CPU降温的风扇可能会转起来,但计算机依旧能正常工作,并没有死机。

死循环,CPU不是应该一直在这里转圈吗?难道不会死机?

这就不得不提到一个概念:中断

中断

中断这个概念,绝对是计算机史上最伟大的发明之一。

中断,顾名思义,用于打断CPU正常的工作,让它去执行别处的指令程序。

操作系统之所以能够掌控全局,就得益于它启动时给CPU安插的一系列的中断处理函数(比如我们最常见的时钟中断),好让操作系统能周期性的收回CPU的执行权,调度别的线程来执行。

所以,即便你某个线程进入了死循环,在你的时间片用完之后,也得乖乖交出CPU,让别的程序来执行。

想用一个死循环就把电脑搞死机,那自然是不可能的。

其实想来也是,如果这么容易就给你搞死机了,那这操作系统也太菜了吧,新手如果刚学编程,还不得一天强制重起电脑十几回?

退一万步讲,就算不考虑中断的影响,现在的CPU大都是多核,一个线程进入死循环,但还有别的核可以参与系统调度,也依然不会死机。

那么回到开始的问题,那到底CPU被困在了哪里出不来,连中断都拿它没办法呢?

其实有两种情况:

1、中断确实拿它没办法

很多人都知道中断的概念,但很多人不知道,中断也是有优先级的。

这很容易理解,比如CPU正在执行程序,突然发生了一个中断事件。CPU保存好当前执行的上下文,转头去处理这个中断事件,但刚处理到一半儿,这时又有一个新的中断事件来了,那CPU怎么办?要不要响应?

所以中断也有优先级之分,低优先级的中断无法打断高优先级的中断。

有了这个前提来试想一下,如果由于操作系统内核代码写的不当,在处理某个中断的时候陷入了死循环,比如自旋锁,会发生什么?

因为在处理中断的时候,CPU运行在一个很高的优先级上,一般的中断是无法把执行权抢过去的,这就导致这颗CPU核心成为了“植物人”,怎么叫它都没反应了。

2、中断能抢到CPU,但发现没有线程可以调度

程序员们对死锁这个概念应该不陌生,两个线程A等待B,B等待A,两个线程互相等待对方让步(释放锁),形成僵持局面,最后成为死锁。

如果死锁发生在应用层面,那问题不大,最多就是两个程序死了。但如果发生在内核呢?

比如在Windows操作系统内核中,就有大量的全局性的锁,一个不小心造成死锁,其他想要的线程都得进入等待队列,那就凉凉了。

电脑死机的时候,CPU到底在做什么?,程序人生,百度小程序,游戏程序,电脑,社交电子

引用一段另一位大神Tim Chen的描述(我觉得特别形象):文章来源地址https://www.toymoban.com/news/detail-712575.html

电脑死机的时候,CPU到底在做什么?,程序人生,百度小程序,游戏程序,电脑,社交电子

到了这里,关于电脑死机的时候,CPU到底在做什么?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【程序人生】还记得当初自己为什么选择计算机?

            还记得人生中第一次接触计算机编程是在高中,第一门编程语言是Python(很可惜由于条件限制的原因,当时没能坚持学下去......现在想来有点后悔,没能坚持,唉......)。但是,错过的就错过了,把握当前才是正确的选择。努力最好的时机永远是在过去,其次就在当

    2024年02月04日
    浏览(46)
  • 当我们谈论Spring的时候到底在谈什么

    你好,这里是codetrend专栏“Spring6全攻略”。欢迎点击关注查看往期文章。 Spring 对于不做程序开发的人来说字面意思就是春天,四季的开始。 对于程序员来说这个单词完全拥有另外一个含义, Spring 指的是一个开源项目,而这个项目非常厉害。 Spring 这个术语在不同的语境中

    2024年03月22日
    浏览(31)
  • CPU与GPU到底有什么区别?

    大家好,我是小风哥,今天简单聊聊CPU与GPU。 CPU的故事我们聊得比较多了,之前也发布过很多关于CPU的文章,因此这里重点聊聊GPU。 教授 vs 小学生 你可以简单的将CPU理解为学识渊博的教授,什么都精通,而GPU则是一堆小学生,只会简单的算数运算,可即使教授再神通广大,

    2024年02月09日
    浏览(37)
  • 到底什么是MCU、MPU、CPU,和芯片是什么关系?区别又是什么?

    目录 0.前言 1. 芯片 2. CPU 3. MPU 4. MCU  5. 总结         更新的是有点慢,从这周开始吧,应该会快一点。推荐一首歌《你到底有没有爱过我》——蓝波,额,怎么说呢,大家,音乐是没有对错的。         曾经出过一次笑话,就是我在拿到一个产品的时候,我用Keil烧录时不知

    2024年02月07日
    浏览(75)
  • CPU的设计原理?CPU有哪几部分组成?CPU为何有32位和64位之分?CPU位数到底和数据总线有关还是和地址总线有关?什么是数据总线?什么是地址总线?

    宁可思一近,莫在思一停。 本文目的在于为想要转硬件方向的程序员解释 CPU 的设计原理及组成,数据总线地址总线与 CPU 位数的关系。 站在程序员的角度学习CPU设计原理 上图总体其实为 SoC 片上系统,但是一直叫被叫成 CPU 叫习惯了,准确来说里面的才是 CPU 。 可以认为一

    2024年02月16日
    浏览(32)
  • ChatGPT 在做什么,为什么有效?

    原文:What Is ChatGPT Doing … and Why Does It Work? 译者:飞龙 协议:CC BY-NC-SA 4.0 这本简短的书试图从第一原理解释 ChatGPT 是如何工作的。在某种程度上,这是关于技术的故事。但它也是关于科学的故事。以及关于哲学的故事。为了讲述这个故事,我们将不得不汇集许多世纪以来的

    2024年04月09日
    浏览(40)
  • 玩CS2的时候,开着微信语音,电脑为什么会突然重启?

    坑 在玩CS2(Counter-Strike 2,假设这里指的是一款类似于CS:GO的射击游戏)时,如果同时开着微信语音并且电脑突然重启,可能有几个原因: 资源过载 :电脑可能因为同时运行多个资源密集型应用(如游戏和语音通话)而超负荷运行,导致过热或电源供应不足,从而触发重启。

    2024年04月23日
    浏览(85)
  • x79主板配什么cpu好 x79主板组装电脑教程

    英特尔x79主板可以说是很早之前就出来的一款产品了,目前很多已经停产。有些网友在组装电脑的时候,用到了英特尔x79主板,不知道英特尔x79主板配什么cpu合适。下面小编就给大家介绍下英特尔x79主板支持什么cpu x79主板配什么cpu?x79是很多朋友们喜欢的主板型号,那么这款

    2024年02月08日
    浏览(32)
  • mac 电脑CPU温度怎么看?怎么可以监控Mac CPU温度,为什么我的 MacBook Air 这么热?

    众所周知,电脑温度太高会直接影响到系统运行速度,对硬盘伤害也是很大的。特别是夏天,Mac 笔记本有时候运行起来会比较烫。关于 Mac 笔记本的散热,见仁见智。但是我们也比较好奇 CPU、电池的温度。怎么查看Mac CPU温度呢?由于Mac电脑没有BIOS这种基于硬件底层的软件,

    2024年02月08日
    浏览(52)
  • 电脑突然死机怎么办?

    死机是电脑常见的故障问题,尤其是对于老式电脑来说,一言不合电脑画面就静止了,最后只能强制关机重启。那么你一定想知道是什么原因造成的吧,一般散热不良最容易让电脑死机,还有系统故障,比如不小心误删了系统运作的必要文件。那么面对电脑突然死机我们用什

    2024年04月10日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包