电脑什么情况会蓝屏,电脑蓝屏是因为什么

  电脑什么情况会蓝屏,电脑蓝屏是因为什么

  一旦遇到蓝屏,大部分人都会认为Windows会失灵,所以会瘫痪。罪魁祸首是Windows,或者说Windows不够强大,不够稳定。要知道,每次内核态设备驱动或者子系统抛出非法异常,Windows都会面临这个艰难的选择。虽然Windows最终选择了崩溃,但并不意味着它不能忽略异常,让设备驱动程序或子系统继续执行。

  Windows之所以选择“杀了我”,是因为它不知道错误是否可以被隔离从而不伤害系统的其他程序和数据,也不知道组件未来是否可以恢复正常,而Windows知道这个异常更有可能到来。

  它来自于更深层次的问题,比如内存的一般性损坏,或者硬件设备的故障。允许系统继续运行可能会导致更多的异常,存储在磁盘或其他外设中的数据也可能被损坏。Windows意识到这样做的风险太大。为了你的程序和数据的安全性和完整性,也为了一开始就把你的损失降到最低,Windows不情愿地做出了自我牺牲。

  当系统检测到导致崩溃的致命错误时,Windows本身会执行崩溃函数“KeBugCheckEx”。该函数接受停止代码(也称为错误检查代码“Bug Check Code”),

  以及根据stop代码解释的四个参数(下面会有图例)。调用KeBugCheckEx后,首先系统所有处理器上的所有中断都会被屏蔽,然后系统会将显示切换到低分辨率VGA图形模式(因为这是所有Windows平台显卡支持的通用模式),绘制蓝色背景,然后显示这个stop代码,后面是一些帮助用户诊断错误的关键信息。

  最后,KeBugCheckEx调用所有注册的设备驱动错误检查回调函数(这个回调函数是通过调用KeRegisterBugCheckCallback函数注册的),让这些驱动停止运行它们所支配的设备(有可能是系统数据结构已经损坏得很严重,无法显示蓝屏)。

电脑什么情况会蓝屏,电脑蓝屏是因为什么