国内最早的消息是来自于:
6月28日消息,据国外媒体报道,微软的新一代操作系统Windows Vista日前曝出了一处致命漏洞,在10秒钟内即可让系统崩溃……
根据这则消息下面我来谈下自己的理解:
先做了一组小试验
系统:Windows 2003 Ser
内存:188MB
在连续按住WIN+E键长达10秒后,桌面上断断续续跳出了数十个“我的电脑”窗口后,并没有出现死机状态(所谓的系统崩溃),而是跳出了“提示内存不足”的警告。而上限打开窗口为53个。此时不管鼠标怎么点桌面上图标都不能点击。
我们知道Windows在通过绘制多个GUI图形界面的时候会损耗一定的图形系统内存资源,而将窗口缩小的最小化时,释放了一小部分系统资源。
所以接下来我将桌面上打开的窗口最小化了几个后,接着按WIN+E,竟然又打开了多个窗口。窗口数达到了59个。
接下来借助下一个Process工具看看,为了能够顺利测试,我缓慢的按了几下WIN+E打开“我的电脑”窗口,用rocess工具查看到的Explorer.exe进程下的过程,在此进程中打开了多个线程命令。【绿色标记为新创建的线程】
我的猜想是Vista的崩溃问题在于当按住WIN+E键10秒不放时,线程的快速启动,导致Windows内部发生了溢出异常。但是Windows 2003对于用户模式下的私有空间管理的非常严格。因此在WIn2003的测试下并没有出现网络上传闻的除了Vista之外的Windows系统一样可以用此方法崩溃。
最后在依次关闭几个窗口后,也顺利的关闭了线程。【红色标记为线程5秒前退出的标记】
对于Vista上次在虚拟机里做了个测试确实在短短几秒内死机了。但是对于开启Aero效果和没有开启Aero效果后的死机状态还是有所不同的,Aero的一个窗口使用150个三角形。每次绘制一个窗口时会耗掉系统一定的资源,如果测试的机器内存比较大的话未必会在10秒内就崩溃。
其实Vista在Aero模式下也是限制了打开窗口的个数,个人觉得这个并不能说做是Vista的bug。如果“变态”的按住WIN+E键10秒使Vista崩溃。这种变态的做法我想也不是微软的责任了。
不过以上只是我的个人理解,当然最好不过的还是能看到微软对Vista这“崩溃问题”做个规范说明了。要是能让大家看到WIN源代码也就真相大白了。^_^