关于异常处理的问题
今天看了小甲鱼老师的汇编视频,学习了汇编的中断,马上联想到了异常处理,c++中的try,catch。signal等。突然临时想到一个问题,假设一个应用程序A,对“数学相关的异常,如被0除,浮点溢出,等等” 做了异常处理,然而,另外一个应用程序B,也做了对“数学相关的异常,如被0除,浮点溢出,等等”处理,按照汇编中的说法,应该是改变了中断向量表中的地址。问题 ,中断向量表中只有一个存放地址的空间,此时表中的地址指向是A的异常处理地址 还是 B的异常处理地址?系统如何去区分的呢?
这2个程序不可能并发,在cpu看来他们是顺序的,所以异常处理指向第一个触发中断的程序。 cup是流线处理的 ~~~有先后顺序的 ~~~那个先就那个 wjb8love_9c7c9c 发表于 2013-4-23 09:53 static/image/common/back.gif
这2个程序不可能并发,在cpu看来他们是顺序的,所以异常处理指向第一个触发中断的程序。
比如在windows系统下,程序A和程序B都在运行,两个程序都在跑,虽然是时间片的切换,但是cpu怎么确定异常发出的时候调用的是哪个程序的异常处理方法,会不会出现A程序中出现了异常,调用到了B中的异常处理? 看看,长知识了 好厉害
页:
[1]