合肥网站建设公司,网站建设阿里云,安卓系统,wordpress单页主题制作视频教程我想#xff0c;在 Windows XP 系统上#xff0c;造成蓝屏的最主要原因是带有 Bug 的设备驱动程序。 请问在座的#xff0c;谁赞成#xff0c;谁反对。
因为驱动运行在内核模式#xff0c;再也没有更高级别的组件对其进行行为监管#xff0c;它可以做它想做的任何事情。…我想在 Windows XP 系统上造成蓝屏的最主要原因是带有 Bug 的设备驱动程序。 请问在座的谁赞成谁反对。
因为驱动运行在内核模式再也没有更高级别的组件对其进行行为监管它可以做它想做的任何事情。 如果一个用户模式程序出了问题比如代码有内存访问越界的问题这个时候问题不大越界问题只存在于它自己的私有虚拟内存上不会对其他进程有任何影响。操作系统会直接强制结束它但其他程序和操作系统本身将继续正常运行。 换句话说如果一个运行在内核模式的驱动程序出现了 Bug则它将会导致整个操作系统级别崩溃最终就如你所看到的系统蓝屏死机。
为了确认拥有高质量驱动程序的重要性Windows XP 会在安装未经认证的驱动程序时向用户发出警告。这就引出了今天的话题一个来自设备驱动程序作者的问题。
下面是他的问题
“当我的用户尝试安装我编写的驱动时他会收到一个确认对话框该对话框告诉用户这是一个未签名的驱动程序。是否可以创作绕过这个对话框直接安装驱动到系统呢”
这个对话框的全部目的是就是为了防止你所期望的事情发生。如果不需要警告对话框请提交驱动程序进行认证。出于测试目的你可以使用测试根证书对驱动程序进行签名并在运行安装程序之前安装测试根证书。当然安装测试根证书也会导致桌面显示”仅用于测试目的”以提醒你计算机现在允许安装测试签名的驱动程序。)
当然驱动程序开发者可能会觉得这个认证过程很麻烦并且会尽其所能避免它。因为当然了如果你提交驱动程序进行认证它可能会失败有些驱动作者会动些歪心思欺骗 WHQL 团队认证与他打算使用的驱动程序所不同的驱动程序。
我最喜欢的一种”特技操作”与我的一位同事有关他正在安装显卡驱动程序安装程序会显示了一个对话框大致上写着”单击”确定后在我们准备系统时不要触摸键盘或鼠标”。在他单击”确定”后安装程序将继续以编程方式在整个屏幕上移动鼠标打开”显示”控制面板单击”高级”按钮单击其他各种配置对话框一连串的活动似乎持续了半分钟。当面对这样做的安装程序时你的自然反应是尖叫”啊还有这种操作!”
总结
驱动程序认证后才能成功安装到系统这个我是支持的。 现在我的 Win 10 上出现蓝屏的频率越来越低了对用户来说这就是用户体验的提升。
最后
Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一里面有很多关于Windows的小知识对于广大Windows平台开发者来说确实十分有帮助。 本文来自《When people ask for security holes as features: Silent install of uncertified drivers》