一番前へ
(16)
アドレス空間の複製
fork(2)時に複製
init 以外はすべてこれを利用
複製処理の流れ(kernel/fork.c)
新規に mm_struct{}を確保し、内容は親プロセスのものをコピー(copy_ mm())
親プロセスのもつメモリを全てコピーオンライトでマップし直す(dup_mmap())
PTEにおいて全てのページをReadOnly属性にする
Read時: 問題無し
Write時: Page Fault 発生。コピーオンライト処理を実施
戻る
次へ