共用メモリー
shmat() または mmap() サブルーチンを使用すると、 ファイルをメモリーに明示的にマップすることができます。 このプロセスにより、バッファリングとシステム・コールのオーバーヘッドを避けることができます。
メモリー領域は、共有メモリー・セグメントまたは領域として知られています。 以前に影響を受けた 32 ビット・アプリケーションの場合、共用ライブラリー・データまたは共用ライブラリー・テキスト・セグメントを含まない 11 個の共有メモリー・セグメントを提供するために、セグメント 14 がリリースされました。 この方式は、セグメント 3 から 12 および 14 を使用したプロセスに適用されます。 これらのセグメントは、それぞれ 256 MB のサイズです。 アプリケーションは、セグメントに対する読み取り/書き込みにより、ファイルの読み取り/書き込みを行うことができます。 アプリケーションは、このようなマップされたセグメントのポインターを操作するだけで、 読み取り/書き込みのシステム・コールのオーバーヘッドを避けることができます。
ファイルまたはデータは、複数のプロセスまたはスレッド間で共有することができます。 ただし、これにはこれらのプロセス/スレッド間の同期が必要であり、そのような要求の処理はアプリケーションによって決まります。 共有メモリーは通常、データベース・アプリケーションによって使用されます。この場合、データベースはラージ・データベース・バッファー・キャッシュとして使用されます。
ページング・スペースは、プロセスの専用セグメントの場合と同様、共有メモリー領域に割り当てられます。 ページング・スペースは、据え置きページ・スペース割り当てポリシーがオフの場合、ページがアクセスされると使用されます。