Native Client

✍ dations ◷ 2025-11-25 15:05:30 #Google软件,自由软件,安全软件

Google Native Client(缩写为NaCl),是一个由谷歌所发起的开放源代码计划,采用BSD许可证。它采用沙盒技术,让Intel x86、ARM或MIPS子集的机器代码直接在沙盒上运行。它能够从浏览器直接运行程序机器代码,独立于用户的操作系统之外,使Web应用程序可以用接近于机器代码运作的速度来运行,同时兼顾安全性。其功能类似于微软的 ActiveX,但是ActiveX只支持视窗系统。

Google将这项功能合并在Chrome OS之下开发。它也可以被用来开发安全的浏览器外挂程序。

2017年5月31日,Google宣布放弃PNaCl转向WebAssembly。

NaCl使用Newlib作为它的C标准库,但它也支持GNU C 库。

它最初只支持x86平台,但目前也支持ARM平台与x86-64。

NaCl运用沙盒技术以防止外来(第三方)机器代码影响系统安全;特别是在x86平台上运用存储器区段,限制插件所能读写的存储器范围。

由于ARM与x86-64长模式不支持存储器区段,因此在这些平台上NaCl的存储器写入地址是由沙盒过滤。

NaCl运用机器代码验证器(Code Validator)来保证只有安全机器代码能在系统运行。由于x86/x86-64是复杂指令集,指令长度不一,透过控制流程可能隐藏非安全机器代码,从而使验证十分耗时。NaCl运用固定长度的16或32字节的指令束(Instruction Bundle),使机器代码验证器设计简单(只有约600行C语言)和高效率; 而运用指令束只是失去5%的运行效率。

NaCl支持单指令流多数据流指令(如SSE、3DNow!)及多线程接口,应用软件一般只需简单的修改便可以移植到NaCl平台;在2009年一个发布会上,NaCl开发人员示范一个为NaCl平台的移植而修改了20行源代码的H264解码器软件。

相关

  • 马科斯·韦特墨马科斯·韦特墨(Max Wertheimer,1880年4月15日-1943年10月12日)同科特·考夫卡和沃尔夫冈·苛勒一起,是格式塔心理学的创始人。1880年4月15日,韦特墨出生在奥匈帝国的布拉格一个犹
  • 二级学科中华人民共和国学科分类指以国家标准为形式发布的学科分类方式及名称提法,主要有以下三种:其中,《中华人民共和国学科分类与代码国家标准》是依据学科研究对象、研究特征、研究
  • 磨蚀磨蚀(Corrasion)是一种风的地质作用,当气流中包含水分和硬颗粒物质,如沙粒等时,其破坏作用增强。借助硬颗粒进行的破坏作用称为磨蚀。磨蚀作用在狭窄的山谷,大裂隙带以及被强烈烘
  • 张一鹄张一鹄,字友鸿,江南娄县(今属上海市)人,清朝政治人物。顺治十五年(1658年)戊戌科进士,官至云南府推官。工诗,有《滇黔诗》、《野庐集》。
  • 濮阳县濮阳县是中华人民共和国河南省濮阳市下辖的一个县。面积1455平方公里,2002年人口108万。邮政编码457100,县政府驻城关镇。目前下辖::城关镇、柳屯镇、文留镇、庆祖镇、八公桥镇
  • 巴尔斯博罗特巴儿速孛罗(蒙古语:Барсболд;1490年-1531年),清朝译作巴尔斯博罗特,蒙古大汗,达延汗的第三子,封为济农。达延汗本来指定长子图鲁博罗特的长子博迪为继承人。然而,在1517年达延
  • 电气工程师电气工程师,从事勘测、规划、设计、电力工程建筑、安装、调试、技术开发、试验研究、发供电运行、检修、修造、电网调度、用电管理、电力环保、电力自动化、技术管理等工作的
  • 罗曼菲罗曼菲(1955年9月16日-2006年3月24日),台湾舞蹈家,宜兰县人。1955年生,从5岁开始学舞,国立兰阳女子高级中学毕业,1977年国立台湾大学外国语文学系毕业后,全家移民加拿大,并曾于美国玛
  • 阿里·福尔曼阿里·福尔曼(ארי פולמן,1962年12月17日-)是一位以色列电影导演、编剧和电影配乐作曲家。他最出名的作品包含动画纪录片《与巴席尔跳华尔滋》以及《动漫影后》。他目前
  • 乌日啤酒厂坐标:24°6′39.48″N 120°37′19.13″E / 24.1109667°N 120.6219806°E / 24.1109667; 120.6219806乌日啤酒厂是台湾烟酒公司设在台中市乌日区的啤酒生产工厂,厂址面积约11