Marshalling (计算机科学)

✍ dations ◷ 2024-12-26 22:35:50 #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特别处理远程对象。

相关

  • 经验科学经验主义(英语:Empiricism)又作经验论,通常指相信现代科学方法,相信证据,着重认为理论应建立于对于事物的观察,而不是直觉或迷信。意即通过实验研究而后进行理论归纳优于单纯的逻辑
  • 人类学家列表此处提出各国知名人类学家列表,分为亚洲、欧美两大部分。亚洲的华人部分以姓名笔划简繁为序,日本人部分以姓氏五十音顺排列。欧美部分以姓氏英文字母为序:
  • 降D大调“小狗”圆舞曲降D大调“小狗”圆舞曲(法语:Trois Valses op.64 no.1),是肖邦献给德费努·波特卡(英语:Delfina Potocka)伯爵夫人的一首著名圆舞曲。虽然它在英语中也被称为“Minute Waltz”,但并
  • 马克·伍德马克·伍德(英语:Mark Wood;1990年1月11日-)是一位英格兰板球运动员。他是一位右手球员。他出生在英格兰诺森伯兰。他也代表英格兰板球代表队参赛。
  • 信息鉴定信息鉴定,又称数据原发鉴别,是信息安全中指一项信息在传输过程中未受更改(数据完整性)且接收方能验证信息来源的性质。信息鉴定不需要不可否认(Non-repudiation)性质。信息鉴定通
  • 塔姆鲍尔-丘姆-阿赫马达巴德塔姆鲍尔-丘姆-阿赫马达巴德(Tambaur-cum-Ahmadabad),是印度北方邦Sitapur县的一个城镇。总人口19683(2001年)。该地2001年总人口19683人,其中男性10388人,女性9295人;0—6岁人口429
  • 玛丽亚·安东妮娅·费迪南达玛丽亚·安东妮娅·费迪南达(英语:Maria Antonia Ferdinanda,1729年11月17日-1785年9月19日)是撒丁王国王后和西班牙公主。她的丈夫是撒丁国王维托里奥·阿梅迪奥三世。玛丽亚·
  • 你好,总统《你好,总统》(西班牙语:Aló Presidente)是由委内瑞拉总统乌戈·查韦斯主持的电视节目。节目于1999年5月21日首播,于每周日于早上11点开始,在2012年11月底已累绩超过378集的播放。电视外景为挑选委国随一座乡村后、至该地搭建临时摄影棚举行。内容为查韦斯在节目现场随机接听回应委国各民众所投诉、反应的意见,内容包含行政、社会、军事等各种议题,或是对美国政见的批评。而在节目播出时委国政府的重要官员也需在场聆听以回应查韦斯的意见。此节目播出后,不少南美洲的国家领袖也效法筹办类似此风格的节目,
  • 2011年世界游泳锦标赛水球比赛2011年世界游泳锦标赛水球比赛为第十四届世界游泳锦标赛的其中一个比赛项目,共设有女子和男子两个小项。赛事于7月17日至30日在上海东方体育中心举行。本届赛事女子项目的金牌由希腊代表团夺得。希腊在决赛对战东道主中国,最终以9比8险胜夺冠;而中国则创下国家队成立以来的最佳成绩。而男子项目的金牌则由意大利代表团获得。意大利在决赛中与卫冕的塞尔维亚打成6比6平手,至加时才以2比1险胜,继1994年后再夺冠军。  主办国
  • 女媭女媭是先秦时楚国人物名,一般被认为是屈原之姐,《离骚》:“女媭之婵媛兮,申申其詈予。”。《水经注·江水》引用袁山松曰:“屈原有贤姊,闻原放逐,亦来归,喻令自宽全,乡人冀其见从,因名曰秭归。”但朱熹在《楚辞辨证》认为媭为女之贱者,“女媭”乃是屈原之妾。媭也是女子的通称,有美好的意思。《说文解字》中说:“媭,女字也。”后世在秭归建有女媭庙以纪念,《水经注·江水》引袁山松:“(秭归)县北一百六十里有屈原故宅,累石为室基,名其地曰乐平里,宅之东北六十里有女媭庙,捣衣石犹存。”刘昭注引《荆州记》:“县北一百里有屈原