什么是“写入只读页面”错误?

时间:2011-12-05 12:10:03

标签: c linux x86 virtual-memory

好的,当程序试图访问物理内存中没有的页面时,我们说发生了页面错误。但是,程序会尝试写入只读的页面,并且存在于物理内存中。那叫错是什么?

6 个答案:

答案 0 :(得分:4)

根据英特尔术语,它是memory access violation,即#AV例外。

(我知道,有[linux]标签,但也有[x86]标签。)

答案 1 :(得分:3)

这通常会引发segmentation fault(SIGSEGV)。

答案 2 :(得分:3)

细分错误

但是在COW(写入时复制)的情况下,它只是由内核处理的异常

有关详细信息,请参阅http://en.wikipedia.org/wiki/Copy-on-write

答案 3 :(得分:2)

这取决于体系结构,但SIGSEGVSIGBUS是进程违反其内存映射权限时发送的常见信号。

答案 4 :(得分:0)

在某些架构中,它将是 SEGMENTATION FAULT

答案 5 :(得分:0)

在linux SIGSEGV或信号11中称为分段错误。