JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... する。これは open (2) と同じである。下記にある他のインターフェースで使用する ファイルディスクリプターを返す。 ftruncate (2) 共有メモリーオブジェクトの大きさを設定する。 mmap (2) 呼び出したプロセスの仮想アドレス空間に共有メモリーオブジェクトを マップする ... 。 munmap (2) 呼び出したプロセスの仮想アドレス空間から 共有メモリーオブジェクトをアンマップする。 shm_unlink (3) 共有メモリーオブジェクト名を削除する。 close (2) shm_open (3) で割り当 ... てられたファイルディスクリプターが不要になった際に、 そのファイルディスクリプターをクローズする。 fstat (2) その共有メモリーオブジェクトについての情報が入った stat 構造体を取得する。 このシステムコールが返す情報には、オブジェクトのサイズ ( ... ... ロセス (やスレッド) は他のプロセス (やスレッド) と現在共有している 実行コンテキストの一部を分離することができる。 実行コンテキストの一部、たとえばマウント名前空間 (mount namespace) な ... どは、新しいプロセスを fork (2) または vfork (2) を使って生成したときに、暗黙のうちに共有される。 一方、仮想メモリーなどは、 clone (2) を使ってプロセスやスレッドを生成するときに、明示的に共有することを要求できる。 ... unshare () の主な利用法は、プロセスが新しいプロセスを生成することなく、 共有実行コンテキストを制御することである。 flags 引数はビットマスクであり、 実行コンテキストのどの部分の共有を解除するかを表す。 ... ... d key does not have the value IPC_PRIVATE ), or to create a new set. key の値が IPC_PRIVATE の場合、もしくは key に対応する共有メモリーセグメントが存在せず、 shmflg に IPC_CREAT が指定されていた場合、 新しい共有メモリーセグメントを作成する。 作成される ... SIZE の倍数へと切り上げた (round up) 大きさとなる。 shmflg に IPC_CREAT と IPC_EXCL の両方が指定された場合、 key に対応する共有メモリーセグメントが既に存在すると、 shmget () は失敗し、 errno に EEXIST が設定される (これは open (2) に O_CREAT | O_EXCL ... これらのビットは open (2) の mode 引数と同じ形式で同じ意味を持つ。 今のところ、システムは実行 (execute) 許可を参照しない。 共有メモリーセグメントが新たに作成される際、 共有メモリーセグメントの内容は 0 で初期化され、 関連情報を保持するデータ構造体 shmi ... ... * info , size_t size , void * data ), void * data ); 説明 dl_iterate_phdr () 関数を使うと、アプリケーションは実行時に どの共有オブジェクトをロードしたかを見つけることができる。 dl_iterate_phdr () 関数はアプリケーションの共有オブジェクトのリストを辿り ... 、 各オブジェクトに対して関数 callback を 1 回ずつ呼び出す。 これは全ての共有オブジェクトが処理されるか、 callback が 0 以外の値を返すまで行われる。 各々の callback 呼び出しは 3 つの引き数を受け取る: i ... nfo は共有オブジェクトの情報を保持する構造体へのポインターである。 size は info で指される構造体のサイズである。 data は呼び出し元プロ ... ... トは環境変数 GNUTARGET から取得される。スクリプトでコマンド TARGET を用いて入力フォーマットを設定することもできる。 -Bstatic 共有ライブラリに対するリンクをしない。これは共有ライブラリをサポートし ているプラットフォームにおいてのみ意味を持つ。 -Bdynamic ... 動的ライブラリに対してリンクする。これは共有ライブラリをサポートしてい るプラットフォームにおいてのみ意味を持つ。そのようなプラットフォームで はこのオプションは通常デフ ... ォルトになっている。 -Bsymbolic 共有ライブラリを作る場合、グローバルシンボルへの参照を共有ライブラリ内 部の定義 (definition) と結合する。共有ライブラリにリンクさ ... ... hmid_ds * buf ); 説明 shmctl () は、識別子が shmid の System V 共有メモリーセグメントに対して cmd で指示した制御命令を実行する。 buf 引数は、 shmid_ds 構造体へのポインターである。 この構造体は ... rm This is an ipc_perm structure (see below) that specifies the access permissions on the shared memory segment. shm_segsz 共有メモリーセグメントのサイズ (バイト単位)。 shm_atime Time of the last shmat (2) system call that attached this segment. shm_d ... detached tgis segment. shm_ctime Time of creation of segment or time of the last shmctl () IPC_SET operation. shm_cpid その共有メモリーセグメントを作成したプロセスの ID。 shm_lpid ID of the last process that executed a shmat (2) or shmdt (2) system ca ... ... hmaddr , int shmflg ); int shmdt(const void * shmaddr ); 説明 shmat() shmat () は shmid で指定された System V 共有メモリーセグメント (shared memory segment) を コールしたプロセスのアドレス空間に付加 (attach) する。 付加するアドレスは shma ... 込みアクセスのために付加され、 プロセスはそのセグメントに読み込みと書き込みの許可を持っていなければならない。 書き込み専用の共有メモリーセグメントという概念は存在しない。 SHM_REMAP (Linux 固有) このフラグは、 セグメントのマッピングを既存のマッピングに置 ... のアドレス空間に、読み込み専用および読み書き両用 として付加でき、また複数回付加することもできる。 成功した shmat () コールは共有メモリーセグメントに関連する shmid_ds 構造体 ( shmctl (2) を参照) のメンバーを以下のように更新する: • shm_atime には現在の時 ... ... hmaddr , int shmflg ); int shmdt(const void * shmaddr ); 説明 shmat() shmat () は shmid で指定された System V 共有メモリーセグメント (shared memory segment) を コールしたプロセスのアドレス空間に付加 (attach) する。 付加するアドレスは shma ... 込みアクセスのために付加され、 プロセスはそのセグメントに読み込みと書き込みの許可を持っていなければならない。 書き込み専用の共有メモリーセグメントという概念は存在しない。 SHM_REMAP (Linux 固有) このフラグは、 セグメントのマッピングを既存のマッピングに置 ... のアドレス空間に、読み込み専用および読み書き両用 として付加でき、また複数回付加することもできる。 成功した shmat () コールは共有メモリーセグメントに関連する shmid_ds 構造体 ( shmctl (2) を参照) のメンバーを以下のように更新する: • shm_atime には現在の時 ... ... hmaddr , int shmflg ); int shmdt(const void * shmaddr ); 説明 shmat() shmat () は shmid で指定された System V 共有メモリーセグメント (shared memory segment) を コールしたプロセスのアドレス空間に付加 (attach) する。 付加するアドレスは shma ... 込みアクセスのために付加され、 プロセスはそのセグメントに読み込みと書き込みの許可を持っていなければならない。 書き込み専用の共有メモリーセグメントという概念は存在しない。 SHM_REMAP (Linux 固有) このフラグは、 セグメントのマッピングを既存のマッピングに置 ... のアドレス空間に、読み込み専用および読み書き両用 として付加でき、また複数回付加することもできる。 成功した shmat () コールは共有メモリーセグメントに関連する shmid_ds 構造体 ( shmctl (2) を参照) のメンバーを以下のように更新する: • shm_atime には現在の時 ... ... har * name , int oflag , mode_t mode ); int shm_unlink(const char * name ); -lrt でリンクする。 説明 shm_open () は、POSIX 共有メモリーオブジェクトを新規に作成/オープンしたり、 すでに存在するオブジェクトをオープンしたりする。 POSIX 共有メモリーオブジェ ... クトは、実際には、関係のないプロセスが 共有メモリーの同じ領域を mmap (2) するために使用することができる手段である。 shm_unlink () は、逆の操作、つまり以前に shm_open ( ... ) で作成されたオブジェクトの削除を行う。 shm_open () の動作は open (2) とよく似ている。 name で作成したりオープンしたりする共有メモリーオブジェクトを指定する。 移植性を持たせるためには、共有メモリーオブジェクトは /somename という形式の名前で識別し、 そ ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。