Native Client

✍ dations ◷ 2024-12-23 05:40:49 #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解码器软件。

相关

  • 条是台湾的一种长度单位,可用来量测纸张厚度,或在精密量测、车床加工或数控机床加工中使用。1条等同于0.01毫米(mm),人的头发粗细约100微米,相当于10条。大陆称丝或道,是机械行业中
  • 田鼠见内文田鼠亚科(Arvicolinae),又名水䶄亚科。是啮齿目仓鼠科下的一个亚科,包括了:田鼠、旅鼠、麝鼠等。同在仓鼠科底下的近亲有仓鼠及美洲鼠类.田鼠亚科是鼠总科其下仓鼠科的一个
  • 月球探测中国探月工程(英语:China Lunar Exploration Project 或 Chinese Lunar Exploration Program,缩写:CLEP)亦称嫦娥工程,是中国国家航天局启动的第一个探月工程,于2003年3月1日正式启
  • 714年前9世纪 | 前8世纪 | 前7世纪前730年代 前720年代 | 前710年代 | 前700年代 前690年代前719年 前718年 前717年 前716年 前715年 | 前714年 | 前713年 前712年 前711年 前7
  • 腌制鲑鱼腌制三文鱼(瑞典语:Gravlax或gravad lax,丹麦语:gravad laks,挪威语:gravlaks,芬兰语:graavilohi)是一道菜名,在北欧地区非常盛行。用糖、盐及莳萝腌制三文鱼,作为前菜、搭配面包作为点
  • 小耳犬属小耳犬(学名:Atelocynus microtis)是犬科犬亚科的一种,为小耳犬属(Atelocynus)唯一的一种,分布于南美洲的委内瑞拉、哥伦比亚、厄瓜多尔、玻利维亚及巴西等国。
  • 磷酸钚(III)磷酸钚(III)是一种无机化合物,为钚的磷酸盐之一,化学式PuPO4。磷酸钚(III)可由二氧化钚和磷酸氢二铵在1000 °C反应得到,产物可能由于原料241Pu的衰变而带有很少的镅。磷酸硼和
  • 沙坝子站沙坝子站是位于内蒙古自治区达拉特旗沙坝子的一个铁路车站,邮政编码14306。车站建于1988年,有包神铁路经过该站,现仅办理货运,不办理客运业务。车站距离包头东站61公里,隶属包神
  • 张芯瑜张芯瑜(1986年4月23日-),艺名小小瑜,台湾女艺人,毕业于台北商业大学。张芯瑜出生于台北市内湖区,求学时期为运动选手,在进演艺圈前,曾在全大运会上得到7面金牌、1面银牌、4项破大会记
  • 李渤李渤(773年-831年),字濬之,号白鹿先生,排行十。殿中侍御史李钧之子,洛阳人。唐德宗贞元中与兄李涉偕隐庐山白鹿洞,十九年(803年)移居嵩山。唐宪宗元和八年(813年)以左拾遗征,不至,移家洛阳