1

在具有分页内存的系统中,使用了写时复制技术,进程使用 fork() 调用创建一个新进程。

创建后,新进程立即尝试在内存中写入一些内容。CPU 会产生哪个错误 - 页面错误或其他错误?

据我所知,当使用写时复制时,这意味着不会复制公共数据,但是当我们使用 fork() 时,当新进程尝试写入某个页面时,该页面将停止共享,并且使用 fork 创建的进程获取页面的副本,以便可以在其中写入。

所以,我有点困惑处理器会产生错误吗?

4

1 回答 1

1

页面错误是由处理器在第一次写入写时复制页面时生成的,但该错误由内核处理(就像换出或填充零的页面上的错误一样)。它不会传递给用户空间。

于 2013-08-29T16:17:13.387 回答