Marshalling (计算机科学)

✍ dations ◷ 2025-11-25 06:01:32 #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特别处理远程对象。

相关

  • 硫化亚铬硫化亚铬是一种无机化合物,化学式为CrS。硫化亚铬在空气中加热容易被氧化,产生非整比的氧硫化铬、氧化铬(III)等物质。
  • 万州高级中学万州高级中学,即重庆市万州高级中学,创办于1959年,原名万县沙河中学、四川省万县中学、重庆市万州中学。系原四川省和重庆市首批重点中学。
  • 小书痴的下克上角色列表此列表是轻小说、漫画、动画作品《小书痴的下克上》内登场人物和诸神的介绍,译名以皆参考皇冠出版的繁体中文版为准。声为广播剧声优/动画版声优。指在作品中提起该人士时,该人
  • 过渡金属氧化物过渡金属氧化物(英语:transition metal oxides),是指含有过渡金属和氧的一系列材料,大多数被分类为绝缘体,和少数的金属、贫金属,有些过渡金属氧化物也是超导体。(如一氧化铌(英语:Nio
  • 卢永福卢永福(1922年12月-),男,陕西人,中国翻译家,中国翻译协会理事,中国作家协会会员。毕业于西北大学俄文专业。1922年,卢永福出生在陕西省西安。1946年,卢永福从西北大学俄文专业毕业,曾在
  • 竞技叠杯竞技叠杯(英语:Sport Stacking,以前又称史塔客或飞叠杯。为凸显其运动性,于2010年统一中文名称为竞技叠杯)是一项新兴的个人或团体运动,这运动要求选手要以最快的时间把杯子按规律
  • 新加坡戏院列表新加坡戏院列表,列出新加坡常规戏院(电影院)。截至2019年10月,新加坡的戏院共38间,合计提供286个银幕,接近44,000个座位。新加坡戏院主要由八个院线及数间独立阵营戏院所组成,新加
  • 经济参考报《经济参考报》,新华通讯社主办的全国性报纸,是中国大陆第一张经济报纸。社址位于北京市宣武门西大街甲101号。现任总编辑张超文。《经济参考报》创刊于1981年7月,现报名由邓小平于1990年题写。目前《经济参考报》为对开大报,周一至周五出报。2021年8月初,该报一篇题为“‘精神鸦片’竟长成数千亿产业”的文章引发议论,当天网游相关公司股价大幅下跌。有网络自媒体评论直指,中国防沈迷规定可靠,未成年保护在世界处于先进地位,未成年人游戏在流量中占比才6%,而网络游戏仅占上网第三位,沈迷游戏的指控站不住脚。也有其他
  • 杨辅清杨辅清(?-1874年)原名杨金生,小名阿七,外号“七麻子”,清广西桂平人,原籍广东嘉应州(今梅州),太平天国将领,封“辅王”。他认东王杨秀清为兄弟,改名辅清,金田起义后封为国宗。天京事变时,辅清不在天京,幸免于难。1858年,辅清攻占江西景德镇,后来又参与讨伐叛将韦俊,夺回池州,以功封辅王。1860年参与二破江南大营之战,占安徽宁国。1864年守浙江湖州。天京失陷后,辅清剃发易服逃到上海,其后到澳门,又曾潜回中国内地,密谋东山再起。1874年,辅清到福建,被降清的前太平军将领马融和(时在福建陆路提督署任
  • 李淑 (宋朝)李淑(1002年-1059年),字献臣,北宋徐州丰人。李若谷之子。博学多才。大中祥符七年,十二岁,向皇帝献文,被赐童子出身,授秘书省校书郎。历官馆阁校勘。景祐元年(1034年)二月,知制诰,上《时政十议》。生平好藏书,共二万三千多卷,并撰有《邯郸图书志》。李淑反对新政,他利用兼翰林侍读学士之职,攻击新政。谏官欧阳修在延和殿当面斥指李淑奸邪,又上奏李淑依附吕夷简为朋党,请求给李淑外任差进,“使正人端士安心作事,不优谗毁之言”。权知开封府吴育更告发李淑在开封府与吏人多亵近,致使巨盗逍遥法外。庆历三年九月壬辰,