复制写和fork()?

时间:2013-08-29 16:07:08

标签: memory fork copy-on-write

在具有分页内存的系统中,使用Copy On Write技术,进程使用fork()调用创建一个新进程。

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

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

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

1 个答案:

答案 0 :(得分:1)

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