Marshalling (计算机科学)

✍ dations ◷ 2025-07-30 01:43:24 #Marshalling (计算机科学)

marshalling可译作集结、结集、编码、编组、编集、安整、数据打包、列集等,是计算机科学中把一个对象的内存表示变换为适合存储或发送的数据格式的过程。典型用于数据必须在一个程序的两个部分之间移动,或者必须从一个程序移动到另一个程序。Marshalling类似于序列化,可用于一个对象与一个远程对象通信。逆过程被称作unmarshalling。

Marshalling被用于实现不同的远程过程调用(RPC)机制,这必须用到进程间的数据传输。stub必须把程序内存空间的本地格式的数据转换为网络数据表示(英语:Network Data Representation)格式(NDR,常称为数据的线上格式),这种转换被称为marshaling数据。当客户端或服务器接受数据,必须从NDR格式把数据转换为程序的本地格式,这称为unmarshaling数据。

Microsoft的组件对象模型(COM)中,当跨COM的套间(apartment)传递接口指针时,接口指针必须被marshalled。在.NET Framework下,在非受管(unmanaged)类型与CLR类型间,例如P/Invoke过程,必须做marshalling。例如,C#程序调用C语言写的DLL,其中函数参数使用字符串,就需要做marshalling。

使用Mozilla应用程序框架的XPCOM的脚本或应用程序,广泛使用marshalling。

Microsoft Windows系列操作系统,Direct3D设备驱动程序是内核态驱动程序。DirectX运行时处理用户态API。用户态执行系统调用来执行内核态操作,需要CPU切换为内核态,这将耗费微秒级的时间来完成。在此期间,CPU不能执行任何操作。为优化性能,必须极小化CPU这种模式切换。 Linux OpenGL驱动程序分为两部分:内核驱动与用户空间驱动。用户空间驱动把所有OpenGL命令翻译为机器码提交给GPU。为减少系统调用,用户空间驱动实现marshalling。当GPU的命令缓冲区(command buffer)装满了绘图数据,API简单地把请求绘制的调用存放在一个临时缓冲区;当命令缓冲区接近为空,执行内核模式切换一次性增加被存储的命令。

序列化一个对象意味着把它的状态转化为字节流,使这个字节流能反向转化为该对象的一个副本。

术语“marshal”被Python标准库认为与“序列化”同义。 但与Java相关的RFC 2713不认为二者是同义:

"marshal"一个对象意味着记录下它的状态与codebase(s)在这种方式,以便当这个marshal对象在被"unmarshalled"时,可以获得最初代码的一个副本,可能会自动装入这个对象的类定义。可以marshal任何能被序列化或远程(即实现java.rmi.Remote接口)。Marshalling类似序列化,除了marshalling也记录codebases。Marshalling不同于序列化是marshalling特别处理远程对象。

相关

  • 亨利·柏格森亨利·柏格森(法语:Henri Bergson,1859年10月18日-1941年1月4日),法国哲学家,以优美的文笔和具丰富吸引力的思想著称。1928年,获得1927年度的诺贝尔文学奖。1859年10月18日出生于巴
  • 氟锑酸氟锑酸(化学式:HSbF6)或称六氟锑酸,是氢氟酸和五氟化锑反应后的产物。以一比一的比例混合时成为现在已知最强的超强酸,实验证明能分解碳氢化合物,产生碳正离子以及氢气。氢氟酸(HF)
  • 棒针编织棒针为编织毛线所用,一般是由二根棒子所组成,多以金属所造,再涂上银灰色。现在的棒针的一头多加上一小粒塑胶再注明棒针的粗细,根据不同的粗细还可分为不同型号的棒针。
  • Move-to-front transformMTF(Move-To-Front)是一种数据编码方式,作为一个额外的步骤,用于提高数据压缩技术效果。MTF主要使用的是数据“空间局部性”,也就是最近出现过的字符很可能在接下来的文本附近再
  • 梅乐峰梅乐峰是尼泊尔的山峰,位于该国东部MAKARU马卡鹿-国家公园境内,属于喜马拉雅山脉的一部分,海拔高度6,476米。它包含三个主要的峰顶—梅乐北峰6,476米、梅乐主峰6,461米、梅乐南
  • 高智商学会高智商学会(High IQ society)是指成员的加入必须依据智商测验分数为条件的组织。其中历史最为悠久且最知名的是门萨国际,是由 Roland Berrill 与 Lancelot Ware 在 1946 年所成
  • 女左膳 濡燕独臂斩《女左膳 濡燕独臂斩》(女左膳 濡れ燕片手斬り)为于1969年上映的日本时代剧电影,由大映制作发行,是将知名小说剑客丹下左膳女性化的改编电影。
  • 埃莱娜·埃斯皮诺萨埃莱娜·埃斯皮诺萨·曼加纳(西班牙语:Elena Espinosa Mangana,1960年3月21日-),西班牙政治人物,曾任农业大臣、环境大臣等职。1960年生于西班牙西北部加利西亚地区的奥伦塞。早年
  • 春江春江,位于中国海南岛西北部儋州市境内,发源于儋州市南部雅星镇的糠兴岭,蜿蜒西北流入春江水库,出库后北流至新州镇赤坎地村注入儋州湾。河长55.7公里,流域面积557.76平方公里,年均
  • 赵红州赵红州(1941年4月24日-1997年4月9日),男,河南温县人,中国科学史学家,科学计量学家。1959年考入南开大学物理系,1964年毕业。1965年加入中国共产党。1987年7月开始在中国管理科学研究院工作,历任院党委委员、副院长、学术委员会副主任、科学学研究所所长、研究员等职务。他曾被国际《科学计量学》杂志聘为编委,被选入美国《马奎斯世界名人传》。1997年4月9日凌晨去世。1974年,他在全国总工会河南罗山干校劳动期间,利用上海《复旦大学学报》发表的《自然科学大事记》,独立地发现了世界科学中心转