Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all bug

名前

       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/ に書かれている。