2010-08-25 14:04:00 lovelixiujie 阅读数 1098

UNIX环境高级编程学习之第十五章进程间通信 - 通过消息队列实现进程间通信

 

2019-10-30 19:43:21 soucercode 阅读数 8

进程通信: 多个进程之间进行数据交换
1.简单进程间通信:命令行参数.环境变量.信号.文件.
2.传统进程间通信:管道.
3.XSI进程间通信:共享内存.消息队列.信号量.
4.网络进程间通信:套接字.

信号集:信号的集合
信号量:进程间通信的方式 限制进程多共享资源的访问
信号量集:线程同步的一种方式

半双工管道 mkfifo 创建管道文件
有名管道和无名管道

IPC标识
1.创建IPC键值 key_t keyftok(".",0-255); -1
2.创建共享内存 int shmid = shmget(key,4096,0644|IPC_CREAT); -1
3.加载共享内存到进程地址中 void paddr = shmat(shmid,NULL,0) (void)-1
4.卸载共享内存 shmdt(paddr)
5.删除共享内存 或者 获得共享内存的属性 shmctl

int semop(semid,struct sembuf * sops unsigned nsops)
int semid = semget(key,4,0644|IPC_CREAT);
array
union semun 
unoin = array

进程间通信的方式
1.文件 环境表 命令行参数 信号
2.管道:
有名管道: mkfifo open read/write close unlink
无名管道: 父子进程 pipe pipefd[0]读 pipefe[1]写 close read/write close
3.XSI:
共享内存: 速度最快,内存映射 同步 维护shmid_ds结构体形式的共享内存对象。 shmget shmat shmdt shmctl
消息队列: 维护一个msqid_ds结构体形式的消息队列对象 msgget msgsnd msgrcv msgctl
信号量集: 限制多个进程对有限共享资源的访问 semget semctl semop
4.网络通信

2016-03-28 14:19:39 LZQ_daily 阅读数 225

IPC(interprocess communication)


RPC(Remote Procedure Call)


Posix(Portable Operating System Interface)

进程原语(fork、exec、信号、定时器)

进程环境(用户ID、进程组)

文件与目录(所有I/O函数)

系统数据库(口令文件和用户组文件)

tar与cpio归档格式


Unix中的IPC:

消息传递——管道、FIFO、消息队列

同步——互斥锁、条件变量、读写锁、信号量

共享内存区——匿名共享内存区、有名共享内存区

过程调用——Solaris门、Sun RPC

在为给定的应用选择所用的IPC类型时,必须清楚相应IPC对象的持续性

名字空间——使用IPC对象的进程和线程标识各个IPC对象的方式


Posix IPC

Posix消息队列

Posix信号量

Posix共享内存区


System V IPC

System V消息队列

System V信号量

System V共享内存区

2009-04-21 23:15:00 lbsljn 阅读数 1098

UNIX网络编程卷2进程间通信读书笔记(一)—概述

http://blog.chinaunix.net/u/22935/article_52711_2.html

 

UNIX网络编程卷2进程间通信读书笔记(二)—管道 1

http://blog.chinaunix.net/u/22935/article_52711_2.html

 

UNIX网络编程卷2进程间通信读书笔记(二)—管道 2

http://blog.chinaunix.net/u/22935/article_52711_2.html

 

UNIX网络编程卷2进程间通信读书笔记(三)—有名管道 1

http://blog.chinaunix.net/u/22935/showart_274950.html

 

UNIX网络编程卷2进程间通信读书笔记(三)有名管道 2

http://blog.chinaunix.net/u/22935/article_52711_2.html

 

UNIX网络编程卷2进程间通信读书笔记(四)—XSI IPC

http://blog.chinaunix.net/u/22935/showart_274952.html

 

UNIX网络编程卷2进程间通信读书笔记(五)—System V消息队列 1

http://blog.chinaunix.net/u/22935/showart_274953.html

 

UNIX网络编程卷2进程间通信读书笔记(五)—System V消息队列 2

http://blog.chinaunix.net/u/22935/showart_274958.html

 

UNIX网络编程卷2进程间通信读书笔记(六)—System V信号灯(1

http://blog.chinaunix.net/u/22935/showart_274969.html

 

UNIX网络编程卷2进程间通信读书笔记(六)—System V信号灯(2

http://blog.chinaunix.net/u/22935/showart_283412.html

 

UNIX网络编程卷2进程间通信读书笔记(六)—System V信号灯(3

http://blog.chinaunix.net/u/22935/article_52711_1.html

 

UNIX网络编程卷2进程间通信读书笔记(七)—System V共享存储(1

http://blog.chinaunix.net/u/22935/showart_274971.html

 

UNIX网络编程卷2进程间通信读书笔记(七)—System V共享存储(2

http://blog.chinaunix.net/u/22935/showart_297957.html

 

UNIX网络编程卷2进程间通信读书笔记(八)—记录锁

http://blog.chinaunix.net/u/22935/showart_276615.html

 

UNIX网络编程卷2进程间通信读书笔记(九)—Posix信号灯 1

http://blog.chinaunix.net/u/22935/showart_277526.html

 

UNIX网络编程卷2进程间通信读书笔记(九)—Posix信号灯 2

http://blog.chinaunix.net/u/22935/showart_277530.html

 

UNIX网络编程卷2进程间通信读书笔记(十)—Posix条件变量(1

http://blog.chinaunix.net/u/22935/showart_282012.html

 

UNIX网络编程卷2进程间通信读书笔记(十)—Posix条件变量(2

http://blog.chinaunix.net/u/22935/showart_282016.html

 

UNIX网络编程卷2进程间通信读书笔记(十一)—Posix读写锁

http://blog.chinaunix.net/u/22935/showart_282020.html

 

UNIX网络编程卷2进程间通信读书笔记(十二)—Posix共享内存区 1

http://blog.chinaunix.net/u/22935/showart_300445.html

 

UNIX网络编程卷2进程间通信读书笔记(十二)—Posix共享内存区 2

http://blog.chinaunix.net/u/22935/showart_300452.html

2019-04-29 21:09:10 weixin_44545253 阅读数 1048

下载地址:UNIX网络编程卷2:进程间通信(第2版)

带完整书签:
在这里插入图片描述

没有更多推荐了,返回首页