分段故障a.k.a总线错误,错误还是错误?

时间:2011-08-12 13:42:56

标签: c linux windows segmentation-fault

我很困惑。分段故障也称为总线错误。那么它应该如何分类,错误或错误。在Windows术语中,它也称为非法操作错误。在我看来,它应该被称为错误,因为它是由底层错误或硬件错误引起的。

我认为错误是错误的表现而不是相反。我遵循“可靠和安全计算的基本概念和分类”给出的分类。你们觉得怎么样?

1 个答案:

答案 0 :(得分:3)

分段故障与总线错误不完全相同。分段错误是OS运行时创建的错误,当运行的软件尝试访问允许的内存页之外的内存时发生错误。这通常与受保护的内存OS有关,该受保护的内存OS仅允许用户模式进程访问某些段中的内存,并使其他内存段仅限于更高权限的内核进程。另一方面,总线错误是当软件尝试进行硬件无法进行的存储器访问时发生的硬件错误。这两种类型的错误在语义上可以重合,例如在进行内存访问时在x86等处理器体系结构上,并且处理器抛出一般保护错误或一些其他处理器异常。但是,您也可能存在不是由处理器异常引起的分段错误。