SHM_OVERVIEW
Section: Linux Programmer's Manual (7)
Updated: 2020-08-13
Index JM Home Page
名前
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(5)) 内に作成される。 カーネル 2.6.19 以降の Linux では、 仮想ファイルシステム内のオブジェクトの許可属性の制御に、 アクセス制御リスト (ACL; access control lists) を使うことができる。
注意
通常は、共有メモリーオブジェクトにアクセスするプロセスは、 POSIX セマフォなどを使ってプロセス間で同期をとらなければならない。
System V 共有メモリー (shmget(2), shmop(2) など) は古い共有メモリー API である。 POSIX 共有メモリーは、より簡単で、うまく設計されたインターフェースを提供している。 一方で、POSIX 共有メモリーは System V 共有メモリーと比べると 利用できるシステムが少ない (特に、古いシステムでは少ない)。
関連項目
fchmod(2), fchown(2), fstat(2), ftruncate(2), mmap(2), mprotect(2), munmap(2), shmget(2), shmop(2), shm_open(3), shm_unlink(3), sem_overview(7)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。
関連キーワード
メモリー,
共有,
オブジェクト,
shm,
SHM,
OVERVIEW,
プロセス,
情報,
仮想,
open
Linux マニュアル 一覧
[man1]
[man2]
[man3]
[man4]
[man5]
[man6]
[man7]
[man8]
[a]
[b]
[c]
[d]
[e]
[f]
[g]
[h]
[i]
[j]
[k]
[l]
[m]
[n]
[o]
[p]
[q]
[r]
[s]
[t]
[u]
[v]
[w]
[x]
[y]
[z]
Index
- 名前
- 説明
-
- Versions
- 持続性
- リンク
- ファイルシステム経由での共有メモリーオブジェクトへのアクセス
- 注意
- 関連項目
- この文書について
This document was created by man2html, using the manual pages.
Time: 12:08:34 GMT, June 11, 2022