进程通信管理基本概念
- system V IPC中是限制在单机中的通信
- 套接字(socket)的进程通信机制,属于网络进程通信技术
进程通信的分类
- 控制信息的传递:用于控制信息的执行速度和执行方式,通常只包含几个字节的内容,属于进程间的低级通信。
- 大批量数据传送:执行程序中需要实现数据批量交换的一种手段,通常将进程间的大批量数据传递称为高级通信。
进程间的通信
并发进程间的数据和信息交换称为进程间通信(IPC),unix系统提供多种手段和技术进行进程间通信,例如基本通信,管道通信,共享内存通信。TCP/IP通过网络环境,基于套接字进程通信。
进程通信的实现方式
主从式通信
通过主进程控制管理从进程。例如终端控制进程(主进程)和终端进程(从进程)。
会话式通信
双方采用请求和响应请求的方式实现通信。分为使用者进程和服务者进程。典型的例子是用户进程和磁盘管理进程之间的通信过程。
消息传递式通信
采用消息或者邮箱的方式进行进程间的通信。无论接收是否准备好,发送进程都可以进行消息发送,发送的信息是通过消息缓冲区或邮箱完成传递的。
信号通信方式
信号是操作系统中设立的一种运行通报机制,出现异常,会产生一种信号,信号可以传递给相关进程。进程接收到后会做出不同的反应。
UNIX的基本通信技术
锁文件通信
通信进程双方约定,在某个目录中(TMP目录),查找是否有一个双方都可以访问的已知文件存在,将这个文件视为锁文件。
记录锁文件通信
通过文件记录的锁定来实现进程间的通信。
信号通信
略
管道通信
略
共享存储区通信技术
共享存储区的概念
利用内存中的一段共享存储区进行通信,可以将共享区中的内容作为进程自己的虚存空间使用,构成通信机制。