12.07.2015 Views

RedHawk Linux User's Guide version 6.3 日本語版

RedHawk Linux User's Guide version 6.3 日本語版

RedHawk Linux User's Guide version 6.3 日本語版

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>RedHawk</strong> <strong>Linux</strong> User’s <strong>Guide</strong>モニタリング・プロセスで 生 じるmmapマッピングは、 現 在 のレンジ 内 [offset, offset + length) にマッピングされたターゲット・プロセスの 物 理 メモリになることに 注 意 することが 重 要 です。 結果 、mmap 呼 び 出 しがされた 後 にターゲットのマッピングが 変 更 された 場 合 、ターゲット・プロセスのアドレス 空 間 へのモニタリング・プロセスのマッピングは 無 効 となる 可 能 性 があります。このような 状 況 では、モニタリング・プロセスは 物 理 ページ 下 へのマッピングを 保 持 しますが、マッピングはターゲット・プロセスとはもはや 共 有 されていません。 何 故 ならモニタリング・プロセスはマッピングが 有 効 ではないことを 検 知 できないため、モニタリング・プロセスとターゲット・プロセス 間 の 関 係 を 制 御 するためのアプリケーションを 準 備 する 必 要 があります( 表 記[start, end]は、start からend への 区 間 (start を 含 みend を 含 まない)を 意 味 します)。ターゲット・プロセスのアドレス 空 間 へのモニタリング・プロセスのマッピングが 無 効 になる 状況 は 以 下 のとおり:• ターゲット・プロセスが 終 了 。• ターゲット・プロセスがmunmap(2)またはmremap(2)のどちらかでレンジ 内 [offset, offset +length) のページをアンマップ。• ターゲット・プロセスがmmap(2)で 異 なるオブジェクトへレンジ 内 [offset, offset + length) のページにマッピング。• ターゲット・プロセスがfork(2)を 呼 び 出 し、 子 プロセスがする 前 にレンジ 内 [offset, offset +length) のアンロック 済 み、プライベート、 書 き 込 み 可 能 なページへ 書 き 込 む。このケースでは、ターゲット・プロセスはページのプライベート・コピーを 受 け 入 れ、そのマッピングと書 き 込 み 操 作 はコピーされたページへリダイレクトされる。モニタリング・プロセスはオリジナル・ページへのマッピングを 保 持 。• ターゲット・プロセスがfork(2)を 呼 び 出 してから、 子 プロセスと 共 有 し 続 けているレンジ 内[offset, offset + length) のプライベート、 書 き 込 み 可 能 な(copy-on-writeにマークされた)ページをメモリにロック。このケースでは、ロック 操 作 を 実 行 したプロセスは(ページに 最 初 の 書 き込 みを 実 行 したかのように)ページのプライベート・コピーを 受 け 入 れる。もしこれがページをロックするターゲット( 親 )・プロセスの 場 合 、モニタリング・プロセスのマッピングはもはや 有 効 ではない。• ターゲット・プロセスが 子 プロセスと 共 有 し 続 けているレンジ 内 [offset, offset + length) のロック 済 み、プライベート、 読 み 取 り 専 用 の(copy-on-writeにマークされた)ページの 書 き 込 み 権限 を 有 効 にするためにmprotect(2)を 呼 び 出 す。このケースでは、ターゲット・プロセスはページのコピーを 受 け 取 る。モニタリング・プロセスはオリジナルのメモリ・オブジェクトへのマッピングを 保 持 。もしアプリケーションがモニタリング・プロセスのアドレス 空 間 のマッピングの 対 象 になることを 要 求 されている 場 合 、 以 下 を 推 奨 します:• ターゲット・プロセスのアドレス 空 間 がモニタリング・プロセスにマッピングされる 前 にターゲット・プロセスにてメモリ・ロック 操 作 を 実 行• fork(2)を 呼 び 出 す 前 に 親 プロセスやモニタリング・プロセスによるマッピングが 保 持 される必 要 のあるあらゆるページをメモリにロックもしアプリケーションがアドレス 空 間 のマッピングの 対 象 になることを 要 求 されていない 場 合 、forkを 呼 び 出 した 後 までメモリ 内 のページのロックを 延 期 することも 可 能 です。詳 細 な 情 報 についてはmmap(2)のmanページを 参 照 してください。9-2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!