Man page - shm_overview(7)

Packages contains this manual

Available languages:

en fr ja ru ro de

Manual

SHM_OVERVIEW

名 前
説 明
Versions
持 続 性
リ ン ク
フ ァ イ ル シ ス テ ム 経 由 で の 共 有 メ モ リ ー オ ブ ジ ェ ク ト へ の ア ク セ ス
注 意
関 連 項 目
こ の 文 書 に つ い て

名 前

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