Native Client

✍ dations ◷ 2025-11-25 02:24:12 #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解码器软件。

相关

  • 公共领域公共领域(英语:Public sphere),是一个哲学与社会学概念,与私人领域相对,是指介于国家和社会之间的一个公共空间,公民们假定可以在这个空间中自由 参与公共事务而不受干涉。一个容易
  • 大马士革大马士革(阿拉伯语:دمشق‎.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicode","Code2000","Gentium","
  • 胆甾烷(1S,2S,10R,11S,14R,15R)-2,15-二甲基-14-四环十七烷胆甾烷(英语:Cholestane)是一种饱和的四环三萜化合物,是胆固醇成岩作用产生的主要C-27生物标记,在岩石记录中最为丰富。在石
  • 雨量雨是一种自然降水现象。大气层中的水蒸气凝结成小水珠,大量的小水珠形成了云。当云中的水珠达到一定质量以后就会下落至地表,这就是降雨。雨是地球水循环不可缺少的一部分,是大
  • 罗希尔·范德魏登罗希尔·范德魏登(Rogier van der Weyden,荷兰语发音:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicode","
  • 北极燕鸥北极燕鸥(学名:Sterna paradisaea)是属于燕鸥科的一种海鸟。分布于北极及附近地区,并于北极、欧洲、亚洲和北美洲靠近北极的地方进行繁殖。北极燕鸥是候鸟,每年经历两个夏季,从其
  • 安广大安市位于吉林省西北部,是白城市代管的一个县级市。大安素有“鱼米之乡”之称。由于在中国东北地区以“大”字打头的城市只有大安、大连、大庆,故大安被戏称为“东北三大城市
  • 浏洪高速公路浏洪高速公路(湖南地方高速公路,湖南高速公路编号S19,原编号S30),整个高速路段位于湖南省长沙市辖域境内,起点在湘赣二省洪口界,终点为长永高速公路永安互通。全线自湘赣界洪口界对
  • 本杰明·西格尔本杰明·“毕斯”·西格尔(英语:Benjamin "Bugsy" Siegel,1906年2月28日-1947年6月20日)是一名美国的黑帮。西格尔被认为是“他的时期最臭名昭著和可怕的黑帮”之一。他被描述为
  • 文画君文画君(1884年?-1946年3月2日),名竹,字画君,以字行,山西省浑源县人,蒙疆联合自治政府高级官员。宣统元年己酉科中式拔贡。后来曾任晋北政厅思想厅厅长、宣化省省长、蒙疆联合自治政府