Jump to content 日本-日本語

製品 >  ソフトウェア >  HP- UX Developer Edge

HP-UXメモリ管理 ホワイト・ペーパー バージョン1.4

デマンド・ページングの概要
HP-UX/Integrityサーバー お問い合せ
コンテンツに進む

デマンド・ページングの概要


以前に説明したように、プロセスを実行するには、すべての(データやテキストなどの)regionをセットアップする必要があります。ただし、プロセスで必要になるまでページはメモリにロードされません。実際のページがアクセスされるときのみ、変換が確立されます。

コンパイルされたプログラムのヘッダには、データ領域とコード領域のサイズに関する情報が含まれます。forkとexecによって、コンパイルされたコードからプロセスが作成される際、カーネルがプロセスのデータ構造をセットアップし、プロセスの命令がユーザー・モードから実行開始されます。現在メイン・メモリにないアドレスにプロセスがアクセスを試みると、ページ・フォールトが発生します(たとえば、メモリ内にないページから実行を試みることがあります)。カーネルが実行をユーザー・モードからカーネル・モードに切り替え、必要な仮想アドレスを含むpregionを検索してページ・フォールトの解決を試みます。次にカーネルがpregionのオフセットとregionを使用して、ページでの読み取りに必要な情報を検索します。

変換がすでに存在せず、ページが必要な場合、pdapage()ルーチンが変換(スペースID、ページ内のオフセット、ページに割り当てられた保護IDとアクセス・パーミッション、およびページの論理フレーム番号)を追加します。このルーチンは次に、必要に応じてページに取り込まれ、変換のセットアップ、テーブル内でのハッシュ、および残りのすべての処理を行います。

またカーネルは、要求されたページをロードする空き物理ページをメイン・メモリ内で検索します。使用可能な空きページがない場合、要求されたページ用のスペースを確保するために、選択された使用済みページがページ・アウトされます。次にカーネルは、ディスク上のファイル・スペースから要求されたページを取得(ページイン)します。また、プロセスで必要になることがある追加(隣接)ページも頻繁にページインされます。

次に、カーネルはページのパーミッションと保護をセットアップし、ユーザー・モードに戻ります。プロセスが命令を再実行し、この時点でページが検索され、実行が継続されます。

デマンド・ページングには、物理メモリより大きなプロセスが許容されるという柔軟性があります。この方式の短所は、プロセッサーに求められるページングが複雑だということです。ページ・フォールトを処理するために命令が再開可能でなければなりません。

デフォルトでは、すべてのHP-UXプロセスは必要に応じてロードされます。デマンド・ページングのプロセスでは、実行前にプログラムがあらかじめロードされません。プロセスのコードとデータはディスク上に保存され、ページが増分されるときに必要に応じて物理メモリにロードされます(ほとんどアクセスされないルーチンとコードがプログラムに含まれることが多いです。たとえば、プログラムの大きな割合を占めるエラー処理ルーチンはアクセスされないことがあります)。

書き込み時コピー


システムでより効率的にプロセスを操作できるように、現在のHP-UXにはEXEC_MAGICプロセスの「書き込み時コピー(copy-on-write)」が実装されています。以前のシステムでは、プロセスがforkされるたびにプロセスのデータ・セグメント全体がコピーされ、fork回数が増えるにつれてデータ・セグメントとコード・セグメントのサイズが増加していました。物理ページの変換が1つのみ維持されます。1つの親プロセスで1つの物理ページを指し示し、読み取ることができますが、コピーできるのはページへの書き込み時のみです。子プロセスにはページ変換がなく、読み取りアクセスまたは書き込みアクセスのためにページをコピーする必要があります。

「書き込み時コピー」とは、親のregion内のページが、必要になるまで子のregionにコピーされないことを意味します。親と子の両方が、同じページの共有を心配することなくページを読み取ることができます。ただし、親または子のいずれかがページへの書き込みを行うと、新しいコピーが書き込まれ、他方のプロセスには元のページが保持されます。

EXEC_MAGICの実装の詳細は、ホワイト・ペーパー 『HP-UX Process Management』 (HTML) (PDF) を参照してください。
最初のページへ 前のページへ 次のページへ

お問い合わせ

ご購入前のお問い合わせ


ご購入後のお問い合わせ

オンラインサポート
製品の標準保証でご利用いただける無償のサービスです。

ショールーム

ショールーム 導入をご検討のお客様へ
業務アプリケーションの継続・標準化・開発性とシステム担当者様、システム開発者様が抱える悩み・疑問に対する解決策実体験して頂けます。
印刷用画面へ
プライバシー ご利用条件・免責事項