text: 共有メモリによるIPCは、例えばUNIX上のXサーバとアプリケーションの間で画像を転送する場合や、WindowsのCOMライブラリで CoMarshalInterThreadInterfaceInStream() 関数が返す IStream オブジェクトの内部で使われている。一般的に共有メモリが使われるアプリケーションとしてOracleなどのデータベースがある。Unix版OracleではSGAと呼ばれる共有メモリ空間にデータベースバッファキャッシュがおかれて複数のプロセスからアクセスさせて性能の向上を図っている。動的ライブラリは一度メモリ上に置かれると、それが複数のプロセスにマッピングされ、プロセスごとにカスタマイズされるページ群（シンボル解決に違いが生じる部分）だけが複製され、通常コピーオンライトという機構で、そのページに書き込もうとしたときにコピーが行われる。UNIXでのサポート  POSIX には共有メモリの標準化APIとして POSIX Shared Memory がある。これは、sys/mman.h にある shm_open という関数を使う。POSIXのプロセス間通信（POSIX:XSI拡張の一部）には共有メモリ関数として shmat、shmctl、shmdt が含まれている。shm_open で生成された共有メモリは永続的であり、プロセスが明示的に削除しない限りシステム内に存在し続ける。ただしこれには欠点もあり、共有メモリを削除すべきプロセスがその前に異常終了したとき、その共有メモリがシステムのシャットダウンまで残存し続けることになる。そのような問題を避けるには、mmapを使って共有メモリを作成すればよい。2つの通信しあうプロセスが同じ名前の一時ファイルをオープンし、それに対してmmapすることでファイルをメモリにマッピングする。結果として、メモリマップされたファイル（メモリマップトファイル）への変更はもう一方のプロセスからも同時に観測できる。この技法の利点は、両方のプロセスが終了したとき、OSが自動的にファイルをクローズし、共有メモリを削除する点である。Linuxカーネル 2.6 では、RAMディスク形式の共有メモリとして /dev/shm が導入された。より正確に言えば、誰でも書き込めるメモリ内のディレクトリであり、その容量の上限は /etc/default/tmpfs で指定できる。/dev/shm 機能サポートはカーネルの設定ファイルで指定でき、デフォルトでは無効となっている。なお、RedHat や Debian ベースのディストリビューションではデフォルトで有効になっている。Androidでのサポート