进程间通信(IPC)
进程间通信(Inter-Process Communication)是指两个进程或者线程之间传送数据或者信号的一些技术或者方法。进程是计算机进行资源分配的最小的单位。每个进程都有自己独立的系统资源,而且彼此之间是相对隔离的。为了使得不同的进程之间能够互相访问,相互协同工作,就出现了进程之间的通信。这些进程可以运行在同一个计算机上或者有网络连接的不同计算机上。进程间通信技术包括了消息传递、同步、共享内存和远程过程调用等等,IPC是一种标准的UNIX通信机制。
过程调用的类型
在我们了解C/S模型的时候,主要有三种不同类型的过程调用
- 本地过程调用(Local Procedure Call,LPC):是指被调用的函数与调用的函数处于同一个进程中。比较典型的情况就是调用者通过某条机器指令把控制过程传递给新的过程,被调用的过程保存机器寄存器中的值,并且在栈顶分配为其本地变量空间。
- 同主机的远程过程调用(Remote Procedure Call,RPC): 是指调用的函数和被调用的函数不在同一个进程中,但是在同一个主机上
- 不同主机间的远程过程调用:是指一台主机上的客户端调用另一台主机上的某个服务器的处理函数。
什么是远程过程调用
RPC,远程过程调用,是指计算机A上的进程,调用计算机B上的进程。过程中A上的进程被挂起,而B上的进程开始执行,当返回