Linux
2010-09-10
manpages-ja
Japanese version of the manual pages (for users)
man-pages-ja
Japanese man (manual) pages from the Japanese Manual Project
manpages
Manual pages about using a GNU/Linux system
man-pages
Linux kernel and C library user-space interface documentation
名前
shm_overview - POSIX 共有メモリーの概要
説明
POSIX 共有メモリー API を使用すると、メモリーのある領域を共有して、 プロセス間で情報をやり取りすることができる。
この API では以下のインターフェースが採用されている。
shm_open(3) | 新しいオブジェクトを生成しオープンする、もしくは 既存のオブジェクトをオープンする。これは open(2) と同じである。下記にある他のインターフェースで使用する ファイルディスクリプターを返す。 |
ftruncate(2) | 共有メモリーオブジェクトの大きさを設定する。 |
mmap(2) | 呼び出したプロセスの仮想アドレス空間に共有メモリーオブジェクトを マップする。 |
munmap(2) | 呼び出したプロセスの仮想アドレス空間から 共有メモリーオブジェクトをアンマップする。 |
shm_unlink(3) | 共有メモリーオブジェクト名を削除する。 |
close(2) | shm_open(3) で割り当てられたファイルディスクリプターが不要になった際に、 そのファイルディスクリプターをクローズする。 |
fstat(2) | その共有メモリーオブジェクトについての情報が入った stat 構造体を取得する。 このシステムコールが返す情報には、オブジェクトのサイズ (st_size)、 許可属性 (st_mode)、 所有者 (st_uid)、 グループ (st_gid) がある。 |
fchown(2) | 共有メモリーオブジェクトの所有権を変更する。 |
fchmod(2) | 共有メモリーオブジェクトの許可属性を変更する。 |
Versions
POSIX 共有メモリーは Linux 2.4 と glibc 2.2 以降でサポートされている。
持続性
POSIX 共有メモリーオブジェクトはカーネル内で保持される。 共有メモリーオブジェクトは、システムがシャットダウンされるか、 全てのプロセスがそのオブジェクトをアンマップし、 shm_unlink(3) で削除されるまで、存在し続ける。
リンク
POSIX 共有メモリー API を使用したプログラムは cc -lrt でコンパイルし、リアルタイムライブラリ librt とリンクしなければならない。
ファイルシステム経由での共有メモリーオブジェクトへのアクセス
Linux では、共有メモリーオブジェクトは通常 /dev/shm 以下にマウントされる仮想ファイルシステム (tmpfs) 内に作成される。 カーネル 2.6.19 以降の Linux では、 仮想ファイルシステム内のオブジェクトの許可属性の制御に、 アクセス制御リスト (ACL; access control lists) を使うことができる。
準拠
POSIX.1-2001.
注意
関連項目
この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。