12.07.2015 Views

RedHawk Linux User's Guide version 6.3 日本語版

RedHawk Linux User's Guide version 6.3 日本語版

RedHawk Linux User's Guide version 6.3 日本語版

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

リアルタイム・プロセス 間 通 信shmgetシステムコール3shmget(2)は 新 しい 共 有 メモリ 領 域 を 作 成 または 既 存 の 共 有 メモリ 領 域 を 特 定 します。本 セクションではshmgetシステムコールを 説 明 します。より 詳 細 な 情 報 はshmget (2)のmanページを 参 照 してください。この 呼 び 出 しの 使 用 を 説 明 しているプログラムは、README.shmget.txt内 に 提 供 された 多 数 のコメントと 共 に/usr/share/doc/ccur/examples/shmget.cで 見 つけることが 可 能 です。概 要#include #include int shmget (key_t key, size_t size, int shmflg);上 記 の 全 てのインクルードファイルは、オペレーティング・システムの/usr/includeサブディレクトリにあります。key_t はヘッダーファイルの 中 で 整 数 型 にするためにtypedefによって 定義 されています(このヘッダーファイルは 内 部邪 に 含 まれています)。 正 常 終 了 した場 合 にこのシステムコールから 返 される 整 数 は、key の 値 に 対 応 する 共 有 メモリ 領 域 識 別 子(shmid) です(shmid は 本 章 の「 共 有 メモリの 利 用 」セクション 内 で 説 明 されています)。 失 敗 した場 合 、 外 部邪 変 数 errnoに 失 敗 の 理 由 を 知 らせる 値 が 設 定 され、-1 が 返 されます。共 有 メモリデータ 構 造造 体 に 対 応 する 新 しいshmid は 以 下 の 条 件 に1つでも 該 当 する 場 合 に 作 成 されます。• key が IPC_PRIVATE• 共 有 メモリデータ 構 造造 体 に 対 応 するshmid が 存 在 しないkey 、かつshmflgとIPC_CREATの 論理 積 がゼロではないshmflg 値 の 組 み 合 わせ:• 制 御 コマンド (フラグ)• 操 作 パーミッション制 御 コマンドはあらかじめ 定 義 された 定 数 です。 以 下 の 制 御 コマンドはshmgetシステムコールに 適遚 用 され、ヘッダーファイル 内 部邪 に 含 まれるヘッダーファイル 内 に 定義 されています。IPC_CREATIPC_EXCL新 しいセグメントを 作 成 するために 使 用 されます。もし 使 用 されない場 合 、shmgetはkey に 対 応 するセグメントの 検 出 、アクセス 許 可 の確 認 、セグメントに 破 棄 マークがないことを 確 認 します。IPC_CREATと 一 緒 の 使 用 は、 指 定 されたkey に 対 応 する 共 有 メモリ識 別 子 が 既 に 存 在 している 場 合 、このシステムコールはエラーを 引 き起 こします。これは 新 しい(ユニークな) 識 別 子 を 受 け 取 らなかった 時に 受 け 取 ったと 考 えてしまうことからプロセスを 守 るために 必 要 です。3-19

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!