Native Client

✍ dations ◷ 2025-09-08 23:34:57 #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解码器软件。

相关

  • H10N7亚型H10N7是一种甲型流感病毒(有时称为禽流感)的亚种。在2004年,埃及首次爆发有人类感染的H10N7疫症。此次爆发感染了一些伊斯梅利亚的居民,包括两个一岁的婴儿和有一个孩子的家禽商
  • 马库斯·勒特雷尔海豹部队伊拉克战争阿富汗战争马库斯·勒特雷尔(英语:Marcus Luttrell,1975年11月7日-),前美国海军海豹部队队员,因为参与2005年“孤独的生还者”对抗塔利班而获发海军十字勋章和紫
  • 胰高血糖素样肽-1胰高血糖素样肽-1(GLP-1)是一种主要由肠道L细胞所产生的激素,属于一种肠促胰岛素(incretin)。其生理作用包括:GLP-1的特殊生理作用非常有助于糖尿病的治疗,是如今糖尿病学里的热门
  • 小行星84050.05 小行星8405 (Asbolus,发音为/ˈæzbələs/, from 错误:{{lang-xx}}:文本有斜体标记(帮助)),中文翻译为飞龙星,是一颗半人马小行星,也就是说它是一颗冰小行星,或视轨道介于木
  • 土井多贺子土井 多贺子(日语:土井 たか子,1928年11月30日-2014年9月20日),生于日本兵库县神户市,日本女性政治家与法学家。历任日本社会党委员长、众议院议长、社会民主党党首等职务。是日本
  • 奥卡帕县坐标:6°31′S 145°37′E / 6.517°S 145.617°E / -6.517; 145.617奥卡帕县(英语:Okapa District),是巴布亚新几内亚的县份之一,位于新几内亚岛东部,由东高地省负责管辖,首府设于
  • 列克星敦 (阿拉巴马州)列克星敦(英文:Lexington),是美国阿拉巴马州下属的一座城市。面积约为3.24平方英里(约合 8.38平方公里)。根据2010年美国人口普查,该市有人口735人,人口密度为227.13/平方英里(约合87
  • 长崎 (丰岛区)长崎(日语:長崎/ながさき  */?)是东京都丰岛区的町名。现行行政地名为长崎一丁目至长崎六丁目。位于神田川北方台地上,为西武池袋线椎名町站至东长崎站的住宅区与商业区。邻接
  • 温昇豪温昇豪(James Wen,1978年2月22日-),台湾模特儿、演员。出生于台湾高雄市,客家人。2006年,因演出公视《危险心灵》而崭露头角。2009年,因偶像剧《败犬女王》饰演男配角学长宋允浩而迅
  • 安培-匝数安培-匝数(ampere-turn)简称At,是米-千克-秒制(MKS制)中磁动势(MMF)的单位,是指一安培的直流电在真空中的一圈导线产生的磁动势。匝数(turn)是指在电感中导线的卷绕数。例如有一个十匝