Marshalling (计算机科学)

✍ dations ◷ 2025-12-10 17:37:11 #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特别处理远程对象。

相关

  • 手工皂手工皂是使用天然油脂与碱液,用人工制作而成的肥皂。基本上是油脂和碱液起皂化反应的结果,经固化、熟成程序后可用来洗涤、清洁。常用的油脂包括橄榄油、棕榈油、椰子油。碱液
  • 比奇角英吉利云崖(英语:Beachy Head)也作比奇角、俾赤岬、比切峭壁、海滩之顶,位于英格兰东萨塞克斯郡伊斯特本西南、七姐妹岩以东的英吉利海峡岸边,为一处白垩岩组成的海岸悬崖,悬崖高
  • 自拍自拍(英语:selfie)是自我拍摄照片的形式之一,一般指使用手持的数字相机或智能手机拍摄,常与社交网络相关。人们“可以随心所欲地为自己拍照”,将自拍照片放上社交网络、论坛等。就
  • 平良幸市平良幸市(1909年7月23日-1982年3月5日)是琉球政府时期和冲绳县时期的政治家,后来当选第2任冲绳县知事。本姓习,属习氏平良家,为琉球国那霸士族后裔,出生在冲绳县中头郡西原町。1928
  • 乌法高原乌法高原是俄罗斯的高原,位于巴什科尔托斯坦共和国和斯维尔德洛夫斯克州,南北端相距150公里,平均海拔高度350至450米,最高点海拔高度517米。
  • 藤原不比等藤原不比等(659年-720年),奈良时代初期的公卿。官右大臣。藤原镰足次子,母为车持国子之女。藤原镰足是由天智天皇赐下“藤原”之姓。文武天皇二年(698年),文武天皇下诏:“先朝所赐藤
  • 咏叹调咏叹调(意大利语:Aria,又译咏唱调、抒情调),原指任何抒情的音乐旋律,多为独唱曲,但也有例外。现时咏叹调被狭义为几乎专指管弦乐队伴奏的独唱曲,又以歌剧中的咏叹调数目是最多的,但清
  • 真柴摩利真柴摩利(日语:真柴 摩利,1959年11月21日-),日本资深女性配音员。出身于群马县。身高155cm。O型血。本名杉浦 真理子(すぎうら まりこ)。Production baobab所属。擅长的方言为群马方
  • 小泽夏木小泽夏木(日文:小沢 なつき/おざわ なつき  ?,1972年4月19日-)是日本的女歌手、演员、AV女优。又译小泽夏希。作为偶像和AV女优活动时,个人资料有些部分(血型、出身地等)不同。1986
  • 十八罗汉 (马来西亚私会党)‘十八罗汉’,马来西亚私会党-黑社会组织。‘十八罗汉’与十八,四海华青,小华记和十三等一样,属华记(Wah Kee) 派系之一。活跃于巴生河流域和彭亨州等地方。