荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: georgehill (佐治·希尔), 信区: Microsoft
标  题: Windows是怎样死掉的——(四)程序不响应故障处理
发信站: BBS 荔园晨风站 (Sat Jan 15 13:09:10 2000), 转信

发信人: CHh5945 (痴), 信区: Windows9x_3x
标  题: Windows是怎样死掉的——(四)程序不响应故障处理
发信站: BBS 水木清华站 (Wed Jan 12 21:00:54 2000)

(四)程序不响应故障处理
  程序的不响应又称为程序被挂起,那么,什么叫程序的不响应呢?形象地说,就是
某个正在运行的程序非正常地停留在某一状态,而又不对系统作出相应的反应,就仿佛
死了一般。与出现GPF故障的程序不同的是,被挂起的程序并不会被系统强制终止,而是
在继续运行,但不会对系统作出响应。
  造成程序“不响应”的原因是多方面的,但有一点是我们应该了解的,那就是线程
的阻塞是造成程序挂起的主要因素,而不是虚拟机的问题。另外一些其他原因也能造成
程序被挂起,如造成16位Windows程序被挂起可能是该程序不能与别的16位程序共享资源
,或者因其他的16位程序出现GPF而没有得到及时消除造成:32位的Windows程序所需资源
被其他程序使用时也会出现程序不响应故障。从而我们可以看到,如果一个程序在使用
一个关键资源时被挂起,则所有其他需要该资源的程序也将被挂起。挂起的程序必须关
闭以释放其占用的资源后,其他程序才能够继续运行。
  下面就是不同程序出现不响应故障后的解决措施。
  挂起的MS-DOS程序
  由于每个MS-DOS程序使用独自的MS-DOS VM,而每个MS-DOS VM拥有单独的线程(注
:每个MS-DOS VM拥有2个线程)。因此,当一个MS-DOS程序被挂起时,其他的MS-DOS程
序仍能正常运行。要关闭被挂起的MS-DOS程序,用户只需同时按下<Ctr>l+<Alt>+<Del>
键,调出图1界面,然后选中被挂起的MS-DOS程序,单击“结束任务”按钮即可。
  挂起的16位Windows 程序
  16位Windows 程序被挂起时,它们一般不会释放对线程和其它系统资源的控制,又
由于16位Windows程序共享单个线程。因此,当一个16位Windows 程序被挂起后,可能导
致越来越多的16位Windows 程序被挂起。所以,必须将所有的被挂起的16位Windows程序
关闭后,其它的16位程序才能继续正常运行。
  另外,Windows 9X系统使用Win16Mutex标志来指示某个特定的16位Windows 程序正
在使用的资源。Win16Mutex标志的出现会产生一个副作用,即当被挂起的16位Windows
程序被释放后,会产生一些16位代码碎片,如果32位的Windows程序正准备使用这些碎片
,则可能会被其他试图使用相同碎片的16位程序挂起。
  因此,当16位程序被挂起时,最稳妥的方法是重新启动计算机。
  挂起的32位Windows 程序
  32位Windows 程序被挂起时,则不起影响其他32位Windows程序!这主要是因为它们
拥有独自的线程。因此,当一个32位Windows 程序被挂起后,只需按三键组合,点击“
结束任务”按钮将其关闭即可。

--
※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.114.208.160]
--

     书山有路勤为径;
     学海无涯苦作舟!

         欢迎各位光临Linux版!
 我是来自大富翁的小美!^_^

※ 来源:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.1.115]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店