共计 1740 个字符,预计需要花费 5 分钟才能阅读完成。
本篇内容介绍了“linux 中 rpc 指的是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让丸趣 TV 小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
在 linux 中,rpc 是远程过程调用的意思,是 Reomote Procedure Call 的缩写,特指一种隐藏了过程调用时实际通信细节的 IPC 方法;linux 中通过 RPC 可以充分利用非共享内存的多处理器环境,提高系统资源的利用率。
本教程操作环境:linux7.3 系统、Dell G3 电脑。
linux 中 rpc 是什么意思
RPC:(Reomote Procedure Call) 远程过程调用
RPC(Remote Procedure Call)中文全称远程过程调用,在 Linux 里有个 rpcbind 软件,是 rpc 的一个简单应用例子,是和网络存储 NFS 相关的软件,用户要想找到 NFS 存储,必须通过先访问 RPCBIND 才行。
特指一种隐藏了过程调用时实际通信细节的 IPC 方法。客户端将调用一个本地方法,而这个本地方法则是负责透明的与远程服务端进行过程间通信。这个本地方法会讲相关参数顺序打包到一个消息中,然后把这个消息发送给服务端提供的方法,服务端的方法会从消息中解出序列化发出来的参数,然后执行,最后仍以同样的方式将方法的返回值发送给客户端。
通过 RPC 我们可以充分利用非共享内存的多处理器环境(例如通过局域网连接的多台工作站), 这样可以简便地将你的应用分布在多台工作站上,应用程序就像运行在一个多处理器的计算机上一样。你可以方便的实现过程代码共享,提高系统资源的利用率,也可以将以大量数值处理的操作放在处理能力较强的系统上运行,从而减轻前端机的负担。
扩展知识:
IPC:(Inter Process Communication)跨进程通信
这个概念泛指进程之间任何形式的通信行为,是个可以拿来到处套的术语。它不仅包括各种形式的消息传递,还可以指共享资源,以及同步对象 [mutex 或者其他类似的东西,即确保安全的并发访问共享资源(也就是防止两个或两个以上的对象同事对同一个数据成员进行修改,从而导致数据被破坏,或者竞争条件下同事读 / 写数据而导致错误的情况发生)] 的东西。
LPC(Local Procedure Call)
LPC 是“本地过程调用(Local Procedure Call)”的缩写。所谓“本地过程调用”是与“远程过程调用”即 RPC 相对而言的。RPC 是广义的,RPC 可以发生在不同的主机之间,也可以发生在同一台主机上,发生在同一台主机上就是 LPC。所以在 Unix 语境下就没有 LPC 这一说,即使发生在同一台主机上也称为 RPC。
在历史上,RPC 是“开放软件基金会(OSF)”设计和提出的一种用以实现“Unix 分布计算环境(Unix DCE)”的标准。实际上,微软的 DCOM 技术,就是建立在 RPC 基础上的。Win2000 的 RPC 可以采用 TCP/IP、SPX、NetBIOS、命名管道、以及“本地”作为底层的通信手段,这“本地”就是 LPC。
另一方面,Windows 是一个带有许多微内核系统特征的操作系统(尽管它的内核不是微内核),系统中有不少“系统级”的服务进程,例如大家已经熟知的 csrss、管理用户登录的“本地安全认证服务”进程 LSASS 等等,用户进程以及微软提供的系统工具软件经常需要调用由这些服务进程提供的服务,这里 LPC 就起着重要的作用。
LPC 的基础是一种称为“端口 (Port)”的进程间通信机制,类似于本地的(Unix 域的)Socket。这种 Port 机制提供了面向报文传递(message passing) 的进程间通信,而 LPC 则是建立在这个基础上的高层机制,目的是提供跨进程的过程调用。注意这里所谓“跨进程的过程调用”不同于以前所说的“跨进程操作”。前者是双方有约定、遵循一定规程的、有控制的服务提供,被调用者在向外提供一些什么服务、即提供哪些函数调用方面是自主的,而后者则可以是在不知不觉之间的被利用、被操纵。前者是良性的,而后者可以是恶性的。
“linux 中 rpc 指的是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注丸趣 TV 网站,丸趣 TV 小编将为大家输出更多高质量的实用文章!