电脑死机的时候,电脑在干什么?





每当在计算机开机时、或启动操作系统时、或使用一些应用程序时、或正准备退出操作系统时,”蓝屏”这一头”猛兽”随时都有可能迎面扑来。

但是,我们经常遇到的不仅仅是蓝屏,而是这种情况:鼠标键盘不动了而磁盘灯还在狂闪。所以这个时候电脑究竟在干嘛?

在扯皮

主板不说话,一看就是主板的锅。。(手动滑稽)

显卡:喂CPU,算出结果了吗?

CPU:等等,这道题好像不太对,我再算算。

内存:快点卸货啊,新的进程都没空间装了!

硬盘:你们先扯,暂时不要再来烦我了!

CPU:内存cnm,你刚给的题是错的,我再算一遍!

IO:吵什么呢?我说话没人听了是吧!

电源:嘿嘿,你们作吧!主人马上要我停你们的电了!

–作者:猫猫

发表于知乎

看个片为什么还卡

CPU说:怪我咯!

浙江电信闪讯客户端打开了一个广告推广进程,360检测到了弹窗:“主人要不要拦截”,你肯定要拦截啊,于是点击拦截。

360关闭广告弹窗正想释放内存,纳尼权限不够?这普通第三方应用还是作为驱动程序安装的?算了一兆多而已留着先不管了。

闪讯一看:“mmp我的广告呢?”,不行我得再开一个。

360:沃日还敢开再开?当我不存在是吧,关掉!mmp还是释放不掉内存?两兆多而已,catch里也没写这种错误怎么处理,不管了。

闪讯:(雾)连开两把这钱都赚不到,不行我再开一个,完不成领导的任务可能影响仕途啊……

过了一会儿,浏览器:内存兄弟再来二斤…哦不两个包的视频缓存空间。

内存:不行啊兄弟,满了,等会吧。CPU你倒是快点啊,赶紧把队列里的程序跑完,释放了,人家催了。

CPU:不行啊,不知道用户装了啥,两sb进程杠上了,一个杀一个奶 死磕上了。

你:mmp垃圾电脑看视频都卡成这样。

过一会儿。GUI:搞毛线,一点小事处理这么半天,再这样下去我等下卡出翔了。

内存:别急,我先把视频缓存给送出去再说。CPU你搞什么啊,算了半天一个都没有释放。

你:mmp破电脑,看个视频都卡成这样,桌面都一卡一卡的。就知道windows电脑不好,开一会就卡得重启,早知道买mac了。

↓↓↓↓

[电源键]

……

CPU:好消息,重启了,全部存盘,一会见。

技术宅在这里

这里是正经回答

详细用Windbg调试过(BIOS工程师必备技能),大多数都是两种情况:

内存颠簸

大家都是知道内存在不足时会被换出到硬盘。在同时有很多耗内存应用同时运行时,各个AP不停地被调度,譬如有A和B。当A被换到前台时,此前A被换出的内存就会被换入,而B的会被换出。当还在进行这些的时候,B又被调度,B的内存又被换入,A的被换出。就这样不停地倒腾。当然光A和B还不会这样,OS没有这么傻,但是如果还有C或者杀毒软件在旁边拖慢调度,就有可能出现。

中断风暴

当中断A还没有处理好,其他的中断就在排队了。中断调度程序一直在忙于处理排队的中断而无暇它顾。而你的不幸的磁盘和鼠标程序也在排队。OS一直在内核处理中断,ring3上的程序不会被调度(优先级低),所以就算你的APP的消息队列里有东西,也不会被执行到。你的鼠标就不动了,硬盘灯也在闪。注意这里不是某一个中断一直不出来,那会引发中断调度器的watchdog,导致蓝屏。