Programming 版 (精华区)

发信人: SwordLea (飞刀李), 信区: Programming
标  题: [合集]死机后CPU的状态讨论
发信站: 哈工大紫丁香 (2004年02月21日11:17:19 星期六), 站内信件


────────────────────────────────────────
 Magnate (大亨)                       于 2004年02月10日01:02:54 星期二 说道:

请教:死机后,键盘鼠标都无效了,屏幕也一动不动。请问这时cpu还在运行程序吗?
死机是不是指cpu总是运行一小段死循环程序?无法跳出。还是cpu已停止运行了?
谢谢。

────────────────────────────────────────
 pigpig (平和堂的猪)                  于 Tue Feb 10 17:36:46 2004 说道:

当然还在运行
【 在 Magnate 的大作中提到: 】
: 请教:死机后,键盘鼠标都无效了,屏幕也一动不动。请问这时cpu还在运行程序吗?
: 死机是不是指cpu总是运行一小段死循环程序?无法跳出。还是cpu已停止运行了?
: 谢谢。

────────────────────────────────────────
 Magnate (大亨)                       于 2004年02月10日17:53:46 星期二 说道:

当然,两字说的轻松。能不能说详细点?
运行什么程序?为何跳不出来?
【 在 pigpig (平和堂的猪) 的大作中提到: 】
: 当然还在运行
: 【 在 Magnate 的大作中提到: 】
: : 请教:死机后,键盘鼠标都无效了,屏幕也一动不动。请问这时cpu还在运行程序吗?
: : 死机是不是指cpu总是运行一小段死循环程序?无法跳出。还是cpu已停止运行了?
: : 谢谢。

────────────────────────────────────────
 thj (无名)                           于 2004年02月10日21:22:44 星期二 说道:

不见得吧,要是死循环是在运行,可是一来死循环导致机器一点响应也没有
本身就比较少见,除非是非常老的系统;二来这也只是死掉的一种可能性而已。
如果程序错误导致操作系统停止响应,比如说比较底层的驱动程序,那么who给cpu
继续发送指令呢?
【 在 pigpig (平和堂的猪) 的大作中提到: 】
: 当然还在运行
: 【 在 Magnate 的大作中提到: 】
: : 请教:死机后,键盘鼠标都无效了,屏幕也一动不动。请问这时cpu还在运行程序吗?
: : 死机是不是指cpu总是运行一小段死循环程序?无法跳出。还是cpu已停止运行了?
: : 谢谢。

────────────────────────────────────────
 phpsql (ext3)                        于 2004年02月10日22:03:13 星期二 说道:

原因应该有很多吧,比如说系统堆栈溢出,或者核心内存数据被非法修改等。
记得吗,只是死循环的话,用ctrl+break就能退出来,根本不会死机。
我想死机了之后,只是系统得不到应该执行的正确指令的地址,
或者得到了地址,该地址的指令也是一堆不知所云的乱指令,
机器比较听话,只能执行下去,所以可爱的机器就死翘翘了。
是吧?!
【 在 thj (无名) 的大作中提到: 】
: 不见得吧,要是死循环是在运行,可是一来死循环导致机器一点响应也没有
: 本身就比较少见,除非是非常老的系统;二来这也只是死掉的一种可能性而已。
: 如果程序错误导致操作系统停止响应,比如说比较底层的驱动程序,那么who给cpu
: 继续发送指令呢?
: 【 在 pigpig (平和堂的猪) 的大作中提到: 】
: : 当然还在运行

────────────────────────────────────────
 thj (无名)                           于 2004年02月11日09:34:53 星期三 说道:

有点答非所问,他问的是死机后是不是还在继续执行指令,而不是怎么死机的。
【 在 phpsql (ext3) 的大作中提到: 】
: 原因应该有很多吧,比如说系统堆栈溢出,或者核心内存数据被非法修改等。
: 记得吗,只是死循环的话,用ctrl+break就能退出来,根本不会死机。
: 我想死机了之后,只是系统得不到应该执行的正确指令的地址,
: 或者得到了地址,该地址的指令也是一堆不知所云的乱指令,
: 机器比较听话,只能执行下去,所以可爱的机器就死翘翘了。
: 是吧?!
: 【 在 thj (无名) 的大作中提到: 】
: : 不见得吧,要是死循环是在运行,可是一来死循环导致机器一点响应也没有
: : 本身就比较少见,除非是非常老的系统;二来这也只是死掉的一种可能性而已。
: : 如果程序错误导致操作系统停止响应,比如说比较底层的驱动程序,那么who给cpu
: : 继续发送指令呢?

────────────────────────────────────────
 SwordLea (飞刀李)                    于 2004年02月11日10:30:30 星期三 说道:

我想绝大多数情况下,CPU在“死机”后都是在执行指令的。
如果在windows平台下,许多时候是因为主线程没有响应系统的消息。
其解决方法是创建工作者线程完成耗费CPU时间的工作,比如计算、
文件操作,而在主线程里正常响应系统消息。如果一定要使用单线
程的话,可以考虑实现消息派发函数,在耗时操作进行中适当调用。
但如果是硬件异常,比如CPU过热停止了。
【 在 Magnate (大亨) 的大作中提到: 】
: 请教:死机后,键盘鼠标都无效了,屏幕也一动不动。请问这时cpu还在运行程序吗?
: 死机是不是指cpu总是运行一小段死循环程序?无法跳出。还是cpu已停止运行了?
: 谢谢。

────────────────────────────────────────
 thj (无名)                           于 2004年02月11日10:41:58 星期三 说道:

键盘鼠标都无效就不是界面线程不响应消息那么简单了。
【 在 SwordLea (飞刀李) 的大作中提到: 】
: 我想绝大多数情况下,CPU在“死机”后都是在执行指令的。
: 如果在windows平台下,许多时候是因为主线程没有响应系统的消息。
: 其解决方法是创建工作者线程完成耗费CPU时间的工作,比如计算、
: 文件操作,而在主线程里正常响应系统消息。如果一定要使用单线
: 程的话,可以考虑实现消息派发函数,在耗时操作进行中适当调用。
: 但如果是硬件异常,比如CPU过热停止了。
: 【 在 Magnate (大亨) 的大作中提到: 】
: : 请教:死机后,键盘鼠标都无效了,屏幕也一动不动。请问这时cpu还在运行程序吗?
: : 死机是不是指cpu总是运行一小段死循环程序?无法跳出。还是cpu已停止运行了?

────────────────────────────────────────
 artist (手艺人)                      于 2004年02月11日12:43:56 星期三 说道:

请教各位:死机后,那些硬件处于正常工作状态?那些处于异常?
或者说cpu,内存,声卡,显卡,网卡,硬盘,鼠标,键盘,串口,并口,...这些设备都
处于什么状态?OS又处于什么状态?
我猜,显卡肯定工作正常了,因为有显示。但其他硬件呢?这时把cpu拔掉,或断电,显
卡还会工作吗?cpu里跑程序吗?
哪位明白,给讲讲。
:D
【 在 thj (无名) 的大作中提到: 】
: 键盘鼠标都无效就不是界面线程不响应消息那么简单了。
: 【 在 SwordLea (飞刀李) 的大作中提到: 】
: : 我想绝大多数情况下,CPU在“死机”后都是在执行指令的。
: : 如果在windows平台下,许多时候是因为主线程没有响应系统的消息。
: : 其解决方法是创建工作者线程完成耗费CPU时间的工作,比如计算、
: : 文件操作,而在主线程里正常响应系统消息。如果一定要使用单线
: : 程的话,可以考虑实现消息派发函数,在耗时操作进行中适当调用。
: : 但如果是硬件异常,比如CPU过热停止了。

────────────────────────────────────────
 SwordLea (飞刀李)                    于 2004年02月11日12:50:01 星期三 说道:

哈哈,还是不要误导了。
万一哪个同学真的带电拨了CPU,恐怕会经常来版里报到、诉苦了。
【 在 artist (手艺人) 的大作中提到: 】
: 请教各位:死机后,那些硬件处于正常工作状态?那些处于异常?
: 或者说cpu,内存,声卡,显卡,网卡,硬盘,鼠标,键盘,串口,并口,...这些设备都
: 处于什么状态?OS又处于什么状态?
: 我猜,显卡肯定工作正常了,因为有显示。但其他硬件呢?这时把cpu拔掉,或断电,显
: 卡还会工作吗?cpu里跑程序吗?
: 哪位明白,给讲讲。
: :D

────────────────────────────────────────
 BorlandDev (BorlandDev)              于 2004年02月11日20:28:15 星期三 说道:

准确的来说,死机就是CPU停止运行,这是可能的,比如汇编里就有halt停机指令,
死循环不能算是标准死机,因为CPU任在运行,虽然大家常常把它当成死机
CPU死后其它各硬件处于什么状态很难讲,因为各设备均要同CPU通过进行联系,
如果CPU不响应各设备的请求了,那么各设备会发生什么事由各设备自己的控制程序
决定,是继续请求,还是发出报警声...因此这个问题不会有一个确定的答案的.
【 在 artist (手艺人) 的大作中提到: 】
: 请教各位:死机后,那些硬件处于正常工作状态?那些处于异常?
: 或者说cpu,内存,声卡,显卡,网卡,硬盘,鼠标,键盘,串口,并口,...这些设备都
: 处于什么状态?OS又处于什么状态?
: 我猜,显卡肯定工作正常了,因为有显示。但其他硬件呢?这时把cpu拔掉,或断电,显
: 卡还会工作吗?cpu里跑程序吗?
: 哪位明白,给讲讲。
: :D

────────────────────────────────────────
 Amia (小羊·小耗子的gg)              于 2004年02月11日20:32:57 星期三 说道:

CPU 100%占用时候也是呀,连鼠标消息都不能响应,然后就蓝屏了
98下这种事情很常见
【 在 BorlandDev (BorlandDev) 的大作中提到: 】
: 准确的来说,死机就是CPU停止运行,这是可能的,比如汇编里就有halt停机指令,
: 死循环不能算是标准死机,因为CPU任在运行,虽然大家常常把它当成死机
: CPU死后其它各硬件处于什么状态很难讲,因为各设备均要同CPU通过进行联系,
: 如果CPU不响应各设备的请求了,那么各设备会发生什么事由各设备自己的控制程序
: 决定,是继续请求,还是发出报警声...因此这个问题不会有一个确定的答案的.
: 【 在 artist (手艺人) 的大作中提到: 】
: : 请教各位:死机后,那些硬件处于正常工作状态?那些处于异常?
: : 或者说cpu,内存,声卡,显卡,网卡,硬盘,鼠标,键盘,串口,并口,...这些设备都
: : 处于什么状态?OS又处于什么状态?
: : 我猜,显卡肯定工作正常了,因为有显示。但其他硬件呢?这时把cpu拔掉,或断电,显

────────────────────────────────────────
 BorlandDev (BorlandDev)              于 2004年02月11日20:50:48 星期三 说道:

蓝屏常常是由于内存访问错误引起的,
在CPU的保护模式下,访问不录访问的内存一般内产生一个#GP,
Windows要是不处理或处理不当,CPU就停了,在#GP被处理之前,
CPU是等待,而不是执行其它任务.
【 在 Amia (小羊·小耗子的gg) 的大作中提到: 】
: CPU 100%占用时候也是呀,连鼠标消息都不能响应,然后就蓝屏了
: 98下这种事情很常见
: 【 在 BorlandDev (BorlandDev) 的大作中提到: 】
: : 准确的来说,死机就是CPU停止运行,这是可能的,比如汇编里就有halt停机指令,
: : 死循环不能算是标准死机,因为CPU任在运行,虽然大家常常把它当成死机
: : CPU死后其它各硬件处于什么状态很难讲,因为各设备均要同CPU通过进行联系,
: : 如果CPU不响应各设备的请求了,那么各设备会发生什么事由各设备自己的控制程序
: : 决定,是继续请求,还是发出报警声...因此这个问题不会有一个确定的答案的.

────────────────────────────────────────
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.828毫秒