共有メモリ 【shared memory】 シェアードメモリ / 共用メモリ

概要

共有メモリ(shared memory)とは、コンピュータメインメモリ(RAM)のうち、複数の主体によって共有される領域。実行中の複数のプログラム(プロセス)が共有する領域を指す場合と、複数のプロセッサプロセッサコアが共有する領域を指す場合がある。

プログラム間の共有メモリ

コンピュータ上で並行して実行されている複数のプロセスが等しくアクセス可能なメモリ領域を共有メモリという。プロセス間通信IPC:Interprocess Communication)に用いられる。

あるプロセスオペレーティングシステムOS)から割り当てられた領域を他のプロセスに開放することで実現する。多くのOSにはそのためのAPIなどが用意されている。

同時に複数のプロセスアクセスすると一貫性が失われる危険があるため、ロック機構など適切な排他制御う必要がある。プロセス間で高速に通信することができるが、同じコンピュータ内でしか通信できない制約がある。

プロセッサ間の共有メモリ

コンピュータ内に複数のマイクロプロセッサCPU/MPU)やプロセッサコアが内蔵されている場合、どのプロセッサからも等しくアクセス可能なメモリ装置を共有メモリという。

比較的プロセッサ数の少ないシステムで採用される方式で、一般的なソフトウェアをそのまま使用できるが、各プロセッサ内部にあるキャッシュメモリとの一貫性を保つのが難しく、性能向上の制約となりやすい。

システム全体で数百から数万のプロセッサを稼働させるスーパーコンピュータのような大規模環境では、共有メモリの他にプロセッサごと(あるいは何基かのプロセッサ実装したノードごと)に置かれる分散型のメモリが併用されることが多い。

(2020.4.13更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる