Mac OS Xのカーネル Xnuのメモ書き

アドレス空間の複製


Rev.4を表示中。最新版はこちら

作成中

fork()でプロセスを生成する場合、アドレス空間をコピーする。
vm_map_fork()

アドレス空間は複製するが物理ページは複製されずfork()元のプロセスと共有し、ページへ書込みを行なった時点で複製される(Copy On Write)。


図1 vm_map_fork()直後



図2 プロセスAのShadow Objectが作成された状態


図3 プロセスBのShadow Objectが作成された状態



図4 Page AにWriteして Copy On Wirteされた状態



最終更新 2006/06/11 23:43:24 - kztomita
(2006/06/11 17:50:38 作成)
添付ファイル
vmmapfork1.png - kztomita
vmmapfork2.png - kztomita
vmmapfork3.png - kztomita


最近更新したページ