一直以来对于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的概念相关推荐

  1. 深入理解 RPC 之集群篇

    上一篇文章分析了服务的注册与发现,这一篇文章着重分析下 RPC 框架都会用到的集群的相关知识. 集群(Cluster)本身并不具备太多知识点,在分布式系统中,集群一般涵盖了负载均衡(LoadBalan ...

  2. 深入理解 RPC : 基于 Python 自建分布式高并发 RPC 服务

    RPC(Remote Procedure Call)服务,也即远程过程调用,在互联网企业技术架构中占据了举足轻重的地位,尤其在当下微服务化逐步成为大中型分布式系统架构的主流背景下,RPC 更扮演了重要 ...

  3. 从 0 到 1:全面理解 RPC 远程调用!

    作者 | Python编程时光 责编 | 胡巍巍 什么是RPC呢?百度百科给出的解释是这样的:"RPC(Remote Procedure Call Protocol)--远程过程调用协议,它 ...

  4. python rpc调用_从0到1:全面理解 RPC 远程调用

    上一篇关于 WSGI 的硬核长文,不知道有多少同学,能够从头看到尾的,不管你们有没有看得很过瘾,反正我是写得很爽,总有一种将一样知识吃透了的错觉. 今天我又给自己挖坑了,打算将 rpc 远程调用的知识 ...

  5. 04 理解SQL与T-SQL的概念测试分析 1214

    04 理解SQL与T-SQL的概念测试分析 1214

  6. ROS学习手记 - 5 理解ROS中的基本概念_Services and Parameters

    ROS学习手记 - 5 理解ROS中的基本概念_Services and Parameters 上一节完成了对nodes, Topic的理解,再深入一步: Services and Parameter ...

  7. Spring Data JPA 之 理解 Persistence Context 的核心概念

    21 理解 Persistence Context 的核心概念 21.1 Persistence Context 相关核心概念 21.1.1 EntityManagerFactory 和 Persis ...

  8. React最佳实践系列 —— 循序渐进理解 Dva中的model概念

    Dva最佳实践 -- 循序渐进理解 Dva中的model概念 一. 序 二. 在create-react-app中使用redux 1. 开始 2. 安装redux 三.异步action 四. Dva中 ...

  9. 趣味理解网关、路由等概念

    趣味理解网关.路由等概念 网关 网关是一种充当转换重任的计算机系统或设备.在使用不同的通信协议.数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器.与网桥只是简单地传达信息不同,网关 ...

最新文章

  1. 自动sqlldr脚本
  2. Python的C/C++扩展
  3. springboot中接口实例化_疫情爆发在家闲出屁的我,梳理一下SpringBoot知识点
  4. codeforces1303 F. Number of Components(并查集+添_正序、删_逆序)
  5. mcem r语言代码_R语言阈值自回归模型(TAR)代码示例
  6. Light OJ Dynamic Programming
  7. Docker教程:docker machine的配置和命令
  8. 【手势识别】基于matlab GUI肤色手势识别【含Matlab源码 716期】
  9. 【流媒体服务】海康摄像头RTSP视频推流、转码、拉流、直播综合应用(六):【1】VLC+FFMPEG+Nginx实现RTSP到RTMP网页直播
  10. Java的身份证号码工具类
  11. python中文分词器(jieba类库)
  12. Java:反射的常用用法,
  13. java取字符串首字母_java 获取中文字符的首字母
  14. 分享视频剪辑技巧,视频尺寸和格式修改为相同
  15. asp.net线上宠物商店系统
  16. 数字图像处理——第二章(数字图像基础)
  17. (转)活出生命的成就
  18. BetaFlight模块设计之二十九:滤波模块分析
  19. wf 《计算机专业英语》,IE(Industrial Engineer)专业英语
  20. 利用SEAL库进行加密的虹膜识别系统制作过程记录

热门文章

  1. 清理conda中没有用的安装包
  2. 学浪课程下载方式获取
  3. 用Mixly ESP8266 ESP32本地局域网/在线OTA无线wifi上传方法
  4. 八电平怎么画_部编版语文一年级下册课文七怎么都快乐
  5. 水滴屏等异形屏的状态栏处理问题
  6. 程维柳青道歉:非常悲痛和自责 要以安全作为核心考核指标
  7. uniapp——用户位置及附近的店 小程序实现
  8. 电缆、光缆、光纤有什么区别?
  9. centos7安装docker并配置php运行环境
  10. iOS11适配 以及会遇到的坑