Linux 中存在哪些核心内核级 IPC 机制?

Linux 中存在哪些核心内核级 IPC 机制?

从我的头脑中,我知道有:

  • 管道
  • FIFO 文件/命名管道
  • 消息队列
  • 共享内存
  • 信号量
  • 信号

这是完整的列表吗?做了一些研究,我认为或许,但我想确定一下。

答案1

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

我会将共享文件描述符添加到列表中。

答案2

伪 tty 算吗?这些是/dev/ptsLinux下神奇的特殊文件。我相信,较旧的 Unix 有固定数量的伪 tty 作为专门命名的设备文件。

伪 tty 很像管道或套接字对,但响应不同的ioctl()调用。

说到套接字对,来自系统调用的特殊文件描述符是否socketpair()计数?

另外,请记住,共享内存有两种形式。有更旧的、更深奥的 System V IPC 共享内存,它不再普遍可用,并且使用mmap()带有标志的众所周知的文件MAP_SHARED

相关内容