私が読んでいるドッカー操作中こういう文もあります。
Dockerはデフォルトで各コンテナに対して一意のIPC名前空間を作成します。 Linux IPC名前空間は、名前付き共有メモリブロック、セマフォ、メッセージキューなどの共有メモリの基本要素を分割します。
これらの例にもかかわらず、私はまだその背後にある概念が何であるかを理解していません。メモリプリミティブ、この用語を説明できますか?
ベストアンサー1
人の名前空間に関するセクションがあります。IPC名前空間。
IPC名前空間は、特定のIPCリソース、つまりSystem V IPCオブジェクトを分離します(参照:スーパーメンバー(7))および(Linux 2.6.30以降)POSIXメッセージキュー(参照:mq_概要(7))。これらのIPCメカニズムの一般的な特徴は、IPCオブジェクトがファイルシステムパス名以外のメカニズムとして識別されることです。
man svipc
3種類のオブジェクトがあるとしましょう。共有メモリオブジェクト、メッセージキュー、セマフォセット(セマフォはセマフォのより一般的なケースです)ミューテックス)。各オブジェクトにはファイルシステムパスではなく数値IDがあります。
POSIX メッセージキューは、ファイル名と同様の名前で識別されます。 (Linux実装では、経由でアクセスされる仮想ファイルを使用します/dev/mqueue/
)。
System V IPCは廃止され、使用するのが難しいと見なされるべきです。
- System V共有メモリー・オブジェクトはPOSIX SHMに置き換えることができます。男shm_概要。
- システムVセマフォは、次のように置き換えることができます。POSIX共有メモリのPOSIXミューテックス。
- 推測されましたが、System VメッセージキューはPOSIXメッセージキューに置き換えられます。
Linux IPCネームスペースは次のことを行います。いいえPOSIX SHMを取り外します。 Linuxは仮想ファイルシステム/dev/shm/
を介してアクセスオブジェクトを実装しますtmpfs
。 POSIX SHMを分離するには、マウントネームスペースを使用してマウントされたファイルシステムを変更できます/dev/shm/
。