「似水」
操作系统

进程和线程的区别

进程间通信

 1管道
 2  匿名管道  半双工 父子进程之间 内核缓冲区环形队列 不能反复读取
 3            fork pipe write read close waitpid
 4
 5  命名管道  持久化 文件系统 数据读完缓冲区就失效
 6            mkfifo open write read close unlink
 7
 8消息队列    内核缓存  内核维护 操作相对慢 3个信号量实现生产者消费者模式 由于内置同步机制 只需要通知信号量
 9    system v  系统级     必须要mtype  通过mtype实现优先级
10              ftok msgget msgsnd msgrcv msgctl
11
12    posix     文件系统级 任意数据结构 内置优先级
13              mq_attr mq_open mq_send mq_receive mq_close mq_unlink
14
15共享内存
16    system v
17              ftok shmget shmat shmdt shmctl
18    posix
19              shm_open ftruncate mmap munmap close shm_unlink // P -1  V +1
20              
21信号量
22    system v
23              ftok semget semctl semop
24    posix
25              sem_open sem_wait sem_post sem_close
26套接字      
27            AF_UNIX不走网卡,通过内核 本地IPC通道 传递数据,tcpdump和wireshark抓不到,用strace
28            sockaddr_un socket setsockopt bind listen connect accept shutdown read write close
29