Native Client

✍ dations ◷ 2025-11-26 04:03:19 #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解码器软件。

相关

  • 腹毛动物门腹毛动物门(学名:Gastrotricha)是动物界的一个门。是生活在海洋或淡水中的、身体腹面披有纤毛的一类小型动物。大约有400种,一般认为是假体腔动物中最原始的一类。本门分为2个目
  • 电子游戏电子游戏产业(英语:Video game industry),又称互动娱乐产业(Interactive entertainment industry),是涉及电子游戏的开发、市场营销和销售的经济领域。它包含了几十种职业,目前雇用
  • 乙烯乙烯是由两个碳原子和四个氢原子组成的化合物。两个碳原子之间用双键连接。乙烯为合成纤维、合成橡胶、合成塑料(聚乙烯及聚氯乙烯)、合成乙醇(酒精)的基本化工原料,也用于制造氯
  • 印度礁印度礁(Bassas da India,法语:Basse de Judie)是法国海外领土法属印度洋诸岛中的一个环礁直径约10公里。印度礁在莫桑比克海峡南部中线上,与马达加斯加岛和莫桑比克几乎等距,其陆
  • 第一民族第一民族(英语:First Nations,法语:Premières nations),是数个加拿大境内民族的通称,法定与印地安人同义,指的是在现今加拿大境内的北美洲原住民及其子孙,但是不包括因纽特人和梅蒂
  • 单加氧酶结构 / ECOD单加氧酶(英语:Monooxygenase,又称混合功能氧化酶)在多种代谢途径中是作为催化将一个羟基整合入底物中的酶类。在此反应中,氧气分子的两个原子分别被还原为一个羟基以
  • 多明格斯山加州州立大学多明格斯山分校(California State University, Dominguez Hills,亦称:CSUDH、Dominguez Hills、Cal State Dominguez Hills或Dominguez Hills State University)是
  • 洪德法洪德法(d'Hondt method),又译抗特计算法,是指在比例代表制下的最高均数方法选举形式之一。洪德法基本规则为,把每一参选党派所取得票数除以一、二、三、直至议席数目,然后将得出的
  • 顺其衡顺其衡(法语:Jules-Auguste Coqset, C.M.,1847年6月28日-1917年2月4日),法国遣使会士,天主教直隶西南代牧区宗座代牧。1847年6月28日,顺其衡出生于法国Ambleny 。1871年6月8日(23岁),顺
  • 麦新麦新(1914年12月5日-1947年6月6日),原名孙培元,别名默心、铁克。原籍常熟,1914年12月5日出生于上海市。中国音乐家,抗日歌曲《大刀进行曲》的作者,中国共产党党员。