熊文杰 发表于 2013-4-23 01:53:30

关于异常处理的问题

今天看了小甲鱼老师的汇编视频,学习了汇编的中断,马上联想到了异常处理,c++中的try,catch。signal等。
突然临时想到一个问题,假设一个应用程序A,对“数学相关的异常,如被0除,浮点溢出,等等” 做了异常处理,然而,另外一个应用程序B,也做了对“数学相关的异常,如被0除,浮点溢出,等等”处理,按照汇编中的说法,应该是改变了中断向量表中的地址。问题 ,中断向量表中只有一个存放地址的空间,此时表中的地址指向是A的异常处理地址 还是 B的异常处理地址?系统如何去区分的呢?

wjb8love_9c7c9c 发表于 2013-4-23 09:53:15

这2个程序不可能并发,在cpu看来他们是顺序的,所以异常处理指向第一个触发中断的程序。

252013680 发表于 2013-4-23 11:38:54

cup是流线处理的   ~~~有先后顺序的 ~~~那个先就那个

熊文杰 发表于 2013-4-23 12:34:14

wjb8love_9c7c9c 发表于 2013-4-23 09:53 static/image/common/back.gif
这2个程序不可能并发,在cpu看来他们是顺序的,所以异常处理指向第一个触发中断的程序。

比如在windows系统下,程序A和程序B都在运行,两个程序都在跑,虽然是时间片的切换,但是cpu怎么确定异常发出的时候调用的是哪个程序的异常处理方法,会不会出现A程序中出现了异常,调用到了B中的异常处理?

殇冰逝水 发表于 2013-4-28 09:23:05

看看,长知识了

阔怀 发表于 2015-8-24 11:33:15

好厉害
页: [1]
查看完整版本: 关于异常处理的问题