UNP(卷2:进程间通信)—— 第一章:简介

IPC是进程间通信(interprocess communication)的简称。


消息传递(message passing):

  • 管道(pipe),命名管道(named pipe)(FIFO)
  • System V消息队列(System V message queue)
  • Posix消息队列
  • 远程过程调用(Remote Procedure Call, RPC):从一个系统上某个程序调用另一个系统上的某个函数的一种方法。

同步(synchronization):

  • 记录上锁(record locking)
  • System V 信号量 和 System V 共享内存区
  • Posix 信号量 和 Posix 共享内存区
  • 互斥锁(mutex)和 条件变量(condition Variable)
  • 读写锁

————————————————————————————————————————————————————————————————————


进程间共享信息三种方式

(1)两个进程共享存留与文件系统中某个文件上的某些信息。(穿越内核)

(2)两个进程共享驻留在内核中的某些信息。

(3)两个进程有一个双方都能访问的共享内存区


一个给定的进程内所有线程共享同样的全局变量。


IPC对象的持续性(persistence)







fork、exec 和 exit 对IPC对象的影响:




errno的定义:

#ifdef _REENTRANT
#define errno (*_errno())
#else
extern int errno;
#endif

每个线程必须有自己的errno变量。当常值 _REENTRANT 有定义时,该宏就扩展成一个函数,由它访问errno 变量的某个局限于线程的副本。


POSIX是“可移植操作系统接口”(Portable Operating System Interface)。


主要讨论 4 个领域:

  1. 消息传递(管道、FIFO、消息队列);
  2. 同步(互斥锁、条件变量、读写锁、信号量);
  3. 共享内存区(匿名共享内存区,有名共享内存区);
  4. 过程调用(Solaris门,Sun RPC)。








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值