进程间通信
?共享内存区在
1 远程过程调用(Remote Procedure Call,RPC)从一个系统(客服主机)上的某个程序调用另一个系统(服务器主机)上的某个函数的一种方式。
而且RPC可用在同一
主机上的客户和服务器之间,因此可认为RPC是另一种形式的消息传递.
2 Unix进程间共享信息的三种方式。见图库5.
3 Posix可移植操作系统接口
4
我们还得注意,从理论上说,所有Unix进程与init进程都有亲辣关系,它是在
系统自举时启动所有初始化进程的祖先进程。然而从实践上说,进程亲缘关系
开始于一个登录shell称为一个会话。以及由该shell派生的所有进程。
5 Unix版本和移植性
当今大多数Unix系统符合
因为Pasix每次更新(例如189,3
Posix. }和Posix. 2的某个版本·我们使用限定词“基个”是
年增加实时扩展,199.6:年增加Pthreads内容)后,厂家得花
一至两年(有时更长的时间)去实现并加入最近的更新内容。:
从历史上看,多数Unix系维或者源自恤kele},或者琢自,system V,不过这些差别在慢
慢消失,因为大多数厂家已开始采用Posix标准。仍然存在的主要差别在于系统管理,这是
一个目前还没有任何Pasix标准可循的领域.
6 书中IPG例子索引表
为分析各种特性,全书主要使用了三种交互模式;
文件服务器:客户一服务器应用程序,客户向服务器发送一个路径名,服务器把该文
件的内容返回给客户。
生产者一消费者:一个或多个线程或进程(生产者〕把数据放到一个共享缓冲区中,另
有一个或多个线程或进程(消费者)对该共享缓冲区中的数据进行操作。
序列号持续增1,一个或多个线程成进程给一个共享的序列号持续增1,该序列号有
时在一个共享文件中,有时在共享内存区中。
7各种类型的IPC一个特性是持续性,另一个特性是名字空间。
8在PosixIPC信号量,注意sem_open,sem_close,sem_unlink,是用于进程的,而sem_init,sem_destroy用于线程。
9