私の頭の上には次のものがあることを知っています。
- 管路
- FIFOファイル/名前付きパイプ
- メッセージキュー
- 共有メモリ
- シグナル
- シグナル
これは完全なリストですか?ちょっと調べてみた結果、私の考えではおそらく、でも確かにやりたいです。
答え1
Linuxカーネルは、次のIPCメカニズムを提供します。
Signals Anonymous Pipes Named Pipes or FIFOs SysV Message Queues POSIX Message Queues SysV Shared memory POSIX Shared memory SysV semaphores POSIX semaphores FUTEX locks File-backed and anonymous shared memory using mmap UNIX Domain Sockets Netlink Sockets Network Sockets Inotify mechanisms FUSE subsystem D-Bus subsystem
共有ファイル記述子をリストに追加します。
答え2
pseudo-ttyも含まれますか?これは/dev/pts
Linux上の魔法の特殊ファイルです。私は以前のUnixが特別に名前付きデバイスファイルとして固定された数の疑似ttyを持っていると思います。
擬似ttyはパイプやソケットのペアと非常に似ていますが、他のioctl()
呼び出しに応答します。
ソケットペアについて言えば、システムコールの特別なファイル記述子がsocketpair()
含まれていますか?
また、共有メモリは2つの形式で提供されることに注意してください。一般的には使用できなくなり、フラグ付きのよく知られてmmap()
いるファイルを使用するより古い、難解なSystem V IPC共有メモリがありますMAP_SHARED
。