电脑死机的时刻 CPU究竟在做什么

  • 电脑网络维修
  • 2024-11-15

大家好,我是轩辕。

前几天,读者群里有人聊起了一个疑问:计算机为什么死机,死机的时刻CPU在干什么?

我想起之前写过这方面的文章,想着预计有不少新粉没有看过,就挖个坟给大家看看,这个幽默又能涨常识的疑问。

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

尤其是早些年,电脑性能还没如今这么高的时刻,多开几个重量级运行程序,死机就能如约而至,就算你把键盘上的CTRL+ALT+DELETE按烂了,义务治理器也出不来,最后只能默默含泪长按关机按钮,强迫关机。

那么,你有没有想过,电脑在死机的时刻,它究竟在干嘛呢?

妇孺皆知,计算机的外围中枢是中央处置器CPU。上过计算机基础课程的同窗都被教诲过:CPU是一根筋死脑筋,只知道不时的取出指令来一条条口头,直到关机方休。

所以通常上,死机分为两种,一种是CPU罢工不干了,不再口头下一条指令了,这属于配件死机,不过这种状况基本不会出现。

更多的是软件层面的死机,也就是CPU被困在了某个中央出不来了,造本钱该口头的程序得不到口头,看起来就是死机了普通。

痴呆的你或者马上想到,假设写一个死循环,把CPU陷在外面出不去,是不是就能死机了?比如这样:

void dead_loop {  {}}

你可以试一下,会发现为CPU降温的风扇或者会转起来,但计算机照旧能反常上班,并没有死机。

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

这就不得不提到一个概念:终止。

终止

终止这个概念,相对是计算机史上最平凡的发明之一。

终止,望文生义,用于打断CPU反常的上班,让它去口头别处的指令程序。

操作系统之所以能够掌控全局,就得益于它启动时给CPU安插的一系列的终止处置函数(比如咱们最经常出现的时钟终止),好让操作系统能周期性的收回CPU的口头权,调度别的线程来口头。

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

想用一个死循环就把电脑搞死机,那人造是无法能的。

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

退一万步讲,就算不思索终止的影响,如今的CPU大都是多核,一个线程进入死循环,但还有别的核可以介入系统调度,也依然不会死机。

那么回到开局的疑问,那究竟CPU被困在了哪里出不来,连终止都拿它没方法呢?

其实有两种状况:

1、终止确实拿它没方法

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

这很容易了解,比如CPU正在口头程序,突然出现了一个终止事情。CPU保留好口头的高低文,转头去处置这个终止事情,但刚处置到一半儿,这时又有一个新的终止事情来了,那CPU怎样办?要不要照应?

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

有了这个前提来试想一下,假设由于操作系统内核代码写的不当,在处置某个终止的时刻堕入了死循环,比如自旋锁,会出现什么?

由于在处置终止的时刻,CPU运转在一个很高的优先级上,普通的终止是无法把口头权抢过去的,这就造成这颗CPU外围成为了“植物人”,怎样叫它都没反响了。

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

程序员们对死锁这个概念应该不生疏,两个线程A期待B,B期待A,两个线程相互期待对方退让(监禁锁),构成僵持局面,最后成为死锁。

假设死锁出当初运行层面,那疑问不大,最多就是两个程序死了。但假设出当初内核呢?

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

援用一段另一位大神Tim Chen的形容(我感觉特意笼统):

  • 关注微信

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/7925.html

猜你喜欢

热门标签

洗手盆如何疏浚梗塞 洗手盆为何梗塞 iPhone提价霸占4G市场等于原价8折 明码箱怎样设置明码锁 苏泊尔电饭锅保修多久 长城画龙G8253YN彩电输入指令画面变暗疑问检修 彩星彩电解除童锁方法大全 三星笔记本培修点上海 液晶显示器花屏培修视频 燃气热水器不热水要素 热水器不上班经常出现3种处置方法 无氟空调跟有氟空调有什么区别 norltz燃气热水器售后电话 大连站和大连北站哪个离周水子机场近 热水器显示屏亮显示温度不加热 铁猫牌保险箱高效开锁技巧 科技助力安保无忧 创维8R80 汽修 a1265和c3182是什么管 为什么电热水器不能即热 标致空调为什么不冷 神舟培修笔记本培修 dell1420内存更新 青岛自来水公司培修热线电话 包头美的洗衣机全国各市售后服务预定热线号码2024年修缮点降级 创维42k08rd更新 空调为什么运转异响 热水器为何会漏水 该如何处置 什么是可以自己处置的 重庆华帝售后电话 波轮洗衣机荡涤价格 鼎新热水器 留意了!不是水平疑问! 马桶产生了这5个现象 方便 极速 邢台空调移机电话上门服务 扬子空调缺点代码e4是什么疑问 宏基4736zG可以装置W11吗 奥克斯空调培修官方 为什么突然空调滴水很多 乐视s40air刷机包 未联络视的提高方向 官网培修 格力空调售后电话 皇明太阳能电话 看尚X55液晶电视进入工厂形式和软件更新方法 燃气热水器缺点代码

热门资讯

关注我们

微信公众号