理解RPC和LPC的概念
一直以来对于RPC的概念就是远程调用,缺乏深入的理解,现有利用业余时间做一些了解。
RPC是“远程过程调用(Remote Procedure Call)”的缩写,最早开始是出现在Sun微系统公司和HP公司运行UNIX操作系统的计算机中。RPC的“远程”定义是一个广义的说法,可以发生在不同的主机之间,也可以发生在同一台主机的不同进程之间。
Windows系统做为后起之秀,它是一种宏微混杂内核的操作系统,系统中一些“系统级”的服务进程需要进行通信,但由于RPC的网络调用的复杂性,微软就整出了一套只用于本机跨进程调用的机制,这个就是LPC,是“本地过程调用(Local Procedure Call)”的缩写。
IPC是“进程间通信(Inter-Process Communication)”的缩写,不管是RPC还是LPC是如何定义的,在使用时都要进行数据的传递,这个工作就是由IPC完成的。因此可以认为,RPC或LPC是上层建筑,IPC是底层基础。IPC是一种标准的Unix通信机制,在这一点上微软貌似没整出什么新的玩意,只在于提供的系统调用上的不同。
基于以上可以得出结论
1、在Unix系统生态环境中是不存在LPC这一说的,不管是不同主机或一台主机不同进程,RPC都可以通过网络调用实现。但是对于一台主机不同进程,为什么不借鉴Windows的LPC方式,由于对Unix系统生态环境了解不深入,原因还真是不清楚。难道是为了保持概念的延续性?不过引用一提供了一种说法,是基于安全性考虑。
2、Windows系统出于对自身性能的需要,调整了RPC的概念(或者让其狭义化了),分化出了LPC的概念。
3、操作系统发展到现在,正所谓分久必合,在这些概念上就没有严格的区分了。
引用
http://www.longene.org/techdoc/0078130001224576866.html
http://www.cnblogs.com/gsk99/archive/2010/12/13/1904541.html
http://bbs.csdn.net/topics/300244377
理解RPC和LPC的概念相关推荐
- 深入理解 RPC 之集群篇
上一篇文章分析了服务的注册与发现,这一篇文章着重分析下 RPC 框架都会用到的集群的相关知识. 集群(Cluster)本身并不具备太多知识点,在分布式系统中,集群一般涵盖了负载均衡(LoadBalan ...
- 深入理解 RPC : 基于 Python 自建分布式高并发 RPC 服务
RPC(Remote Procedure Call)服务,也即远程过程调用,在互联网企业技术架构中占据了举足轻重的地位,尤其在当下微服务化逐步成为大中型分布式系统架构的主流背景下,RPC 更扮演了重要 ...
- 从 0 到 1:全面理解 RPC 远程调用!
作者 | Python编程时光 责编 | 胡巍巍 什么是RPC呢?百度百科给出的解释是这样的:"RPC(Remote Procedure Call Protocol)--远程过程调用协议,它 ...
- python rpc调用_从0到1:全面理解 RPC 远程调用
上一篇关于 WSGI 的硬核长文,不知道有多少同学,能够从头看到尾的,不管你们有没有看得很过瘾,反正我是写得很爽,总有一种将一样知识吃透了的错觉. 今天我又给自己挖坑了,打算将 rpc 远程调用的知识 ...
- 04 理解SQL与T-SQL的概念测试分析 1214
04 理解SQL与T-SQL的概念测试分析 1214
- ROS学习手记 - 5 理解ROS中的基本概念_Services and Parameters
ROS学习手记 - 5 理解ROS中的基本概念_Services and Parameters 上一节完成了对nodes, Topic的理解,再深入一步: Services and Parameter ...
- Spring Data JPA 之 理解 Persistence Context 的核心概念
21 理解 Persistence Context 的核心概念 21.1 Persistence Context 相关核心概念 21.1.1 EntityManagerFactory 和 Persis ...
- React最佳实践系列 —— 循序渐进理解 Dva中的model概念
Dva最佳实践 -- 循序渐进理解 Dva中的model概念 一. 序 二. 在create-react-app中使用redux 1. 开始 2. 安装redux 三.异步action 四. Dva中 ...
- 趣味理解网关、路由等概念
趣味理解网关.路由等概念 网关 网关是一种充当转换重任的计算机系统或设备.在使用不同的通信协议.数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器.与网桥只是简单地传达信息不同,网关 ...
最新文章
- 自动sqlldr脚本
- Python的C/C++扩展
- springboot中接口实例化_疫情爆发在家闲出屁的我,梳理一下SpringBoot知识点
- codeforces1303 F. Number of Components(并查集+添_正序、删_逆序)
- mcem r语言代码_R语言阈值自回归模型(TAR)代码示例
- Light OJ Dynamic Programming
- Docker教程:docker machine的配置和命令
- 【手势识别】基于matlab GUI肤色手势识别【含Matlab源码 716期】
- 【流媒体服务】海康摄像头RTSP视频推流、转码、拉流、直播综合应用(六):【1】VLC+FFMPEG+Nginx实现RTSP到RTMP网页直播
- Java的身份证号码工具类
- python中文分词器(jieba类库)
- Java:反射的常用用法,
- java取字符串首字母_java 获取中文字符的首字母
- 分享视频剪辑技巧,视频尺寸和格式修改为相同
- asp.net线上宠物商店系统
- 数字图像处理——第二章(数字图像基础)
- (转)活出生命的成就
- BetaFlight模块设计之二十九:滤波模块分析
- wf 《计算机专业英语》,IE(Industrial Engineer)专业英语
- 利用SEAL库进行加密的虹膜识别系统制作过程记录