web-dev-qa-db-ja.com

LinuxにはどのコアカーネルレベルIPCメカニズムが存在しますか?

私の頭のてっぺんから、私はあることを知っています:

  • パイプ
  • FIFOファイル/名前付きパイプ
  • メッセージキュー
  • 共有メモリ
  • セマフォ
  • 信号

それは完全なリストですか?少し調べてみると、 たぶん だと思いますが、確かにしたいと思います。

3
Parthian Shot

From LinuxのIPCメカニズム-はじめに

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

共有ファイル記述子をリストに追加します。

3
Barefoot IO

疑似ttyはカウントされますか?これらは、Linuxの/dev/ptsにある魔法の特殊ファイルです。古いUnixには、特別な名前のデバイスファイルとして固定数の疑似ttyがあったと思います。

疑似ttyはパイプやソケットのペアに似ていますが、さまざまなioctl()呼び出しに応答します。

ソケットペアと言えば、socketpair()システムコールからの特別なファイル記述子はカウントされますか?

また、共有メモリには2つの形式があることに注意してください。古い、より難解なSystem V IPC共有メモリがありますが、これはもはや普遍的に利用できません。また、よく知られたファイルでmmap()を使用してMAP_SHAREDを使用しています国旗。

2
Bruce Ediger