本地过程调用

✍ dations ◷ 2024-09-20 06:06:12 #进程间通信

本地过程调用(LPC,Local Procedure Call,通常也被称为轻量过程调用或者本地进程间通信) 是一种由Windows NT内核提供的内部进程间通信方式。通过这一方式,同一计算机上的进程可以进行轻量的通信。在Windows Vista中,ALPC(Advanced Local Procedure Call,高级本地进程通信)替代了LPC。ALPC提供了一个高速可度量的通信机制,这样便于实现需要在用户模式下高速通信的用户模式驱动程序框架(UMDF,User-Mode Driver Framework)。

本地过程调用接口是Windows NT未公开原生API的一部分。这样的API不能够直接使用,但是可以通过如下方式间接使用:

LPC由内核的“端口”对象实现,这样可以确保安全(由访问控制表规定持有特定的安全标识符才可以访问)并可以验证链接另一端进程的身份。程序也可以对每一个信息设定安全标识符,并测试对应信息的变化,以实现每一条消息的安全性。

服务端和客户端之间典型的连接由下列过程表示:

本地过程调用支持以下三种交换信息的方式:

高级本地过程调用(ALPC)拥有比以往的本地过程调用(LPC)更优的性能。因为LPC只能通过同步请求/应答机制通信,而ALPC还可以使用IOCP实现通信。这样,ALPC就可以在消息数量和进程数量间保持一定平衡,保证了端口的高速通信。此外,ALPC还允许信息的批量传输,减少了进程在用户模式和内核模式之间的切换次数。

本地过程调用在Windows NT及其衍生系统中得到了广泛应用。在Win32子系统中,LPC应用于客户端和子系统服务器之间的通信(CSRSS)。在Windows NT 3.51版本中引入了快速LPC以提高调用速度。然而由于NT4.0中将部分关键服务端移入内核模式(win32k.sys)以提高系统效能,这一方法已基本被摒弃。

本地安全认证子系统服务(LSASS),会话管理器(SMSS)以及服务控制管理器均使用LPC端口和客户进程直接通信。Winlogon和安全引用监视器与LSASS进程之间的通信同样使用了LPC。

正如前文提到的,当消息在同一计算机内传输时,Microsoft RPC将调用LPC进行通信。许多仅在同一计算机内进行通信的服务采用LPC作为唯一的通信方式。远程对象连接与嵌入和分布式组件对象模型的实现也在很多地方使用了LPC作为本地通信的方式。

相关

  • 非对称性二甲基精氨酸非对称性二甲基精氨酸(英文:Asymmetric dimethylarginine,简称ADMA)是一种自然存在于血浆内的化合物。它是在人体细胞内细胞质中发生的蛋白质修饰过程产生的代谢副产物,与精氨酸
  • 国际足球联合会国际足球联合会(法语:Fédération Internationale de Football Association;英语:International Federation of Association Football),简称国际足联(FIFA),是管理英式足球、室内五
  • 磁阻效应磁阻效应(英语:Magnetoresistance,简称MR)是指材料之电阻随着外加磁场的变化而改变的效应,其物理量的定义,是在有无磁场下的电阻差除上原先电阻,用以代表电阻变化率。有多种可以称
  • 约翰·加尔布雷斯约翰·肯尼斯·高伯瑞(英语:John Kenneth Galbraith,1908年10月15日-2006年4月29日),又译为约翰·加尔布雷斯、盖布雷斯或盖布瑞斯,生于加拿大安大略省,苏格兰裔美国经济学家(制度经
  • 张继张继可以以:
  • 新竹市立图书馆新竹市文化局图书馆,由新竹市文化局图书资讯课管理。除新竹市文化局内的总馆外,尚设有“香山分馆”、“盐水分馆”、“动物园分馆”。由新竹市东区公所管理的金山图书馆、北区
  • 沉没成本沉没成本(英语:Sunk Cost),或称沉淀成本或既定成本,是经济学和商业决策(英语:Decision-making)制定过程中,会用到的概念,代指已经付出且不可收回的成本。沉没成本常用来和可变成本(英语
  • 鬣狗属鬣狗属(学名:Hyaena)是食肉目鬣狗科鬣狗亚科的一属,现存2种,即条纹鬣狗(Hyaena hyaena)和棕鬣狗(Hyaena brunnea),其中棕鬣狗有时也被单独划为一属,即棕鬣狗属(Parahyaena)。
  • 结构与能动性实证主义 · 反实证主义(英语:Antipositivism) 结构主义 · 冲突理论 中层理论 · 形式理论 批判理论 人口 · 团体 · 组织(英语:Organizational theory) · 社会化 社会性
  • 桌椅脚套桌椅脚套是指装在桌脚或椅脚上的保护套。脚套主要是防止移动桌椅时将地面摩破,并减轻摩擦声。制作脚套的材料除了常见的布料、塑料布外,网球、乒乓球、泡沫亦被认为是理想的材