Native Client

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

相关

  • 新竹市政府坐标:24°48′24″N 120°58′08″E / 24.8067131°N 120.9688414°E / 24.8067131; 120.9688414新竹市政府是中华民国台湾省新竹市最高层级的地方行政机关,在中华民国政府架
  • 过轻体重不足指一个人的体重低于健康水平,通常以身高体重指数(BMI)作指标,BMI低于18.5属于体重不足。医学上体重不足的定义,未必适用于其他方面(如作为吸引力的指标)。体重不足最常见的
  • 亮岛坐标:26°20′29″N 120°13′25″E / 26.3414°N 120.2236°E / 26.3414; 120.2236亮岛,古称横山,旧称浪岛,位于马祖列岛北竿与东引之间,行政上隶属中华民国连江县北竿乡桥仔村
  • 罗马治世罗马治世(拉丁语:Pax Romana),又称罗马和平,是指罗马帝国存在的五百多年间,前二百年比较兴盛的时期,亦即盛世。公元前30年,屋大维消灭埃及托勒密王朝,结束了罗马内战。一般将这一年视
  • 纯素食无政府主义纯素食无政府主义(Veganarchism)亦可以称之为严格素食无政府主义或纯素食安那奇主义,是政治哲学无政府主义、动物权利主义、素食主义的思想。它的中心思想便是人类不应该也没
  • 宜春话宜春话即宜春赣语,是赣语宜春片的代表方言,广义的宜春话代表宜春片内赣语。赣语宜春片又称宜春浏阳片,简称宜浏片。主要分布在赣西和赣西北以及湖南同萍乡毗邻的两个县市。宜春
  • 公义公义可以指以下几种概念:
  • 雷蒙·普恩加莱雷蒙·普恩加莱(Raymond Poincaré,1860年8月20日-1934年10月15日),又译雷蒙·彭加勒,法国政治家。1912年-1913年担任法国总理和外交部长;1913年-1920年担任法兰西第三共和国的总统;19
  • 日本运载火箭发射列表以下列表记录了日本国现代航天事业的各次运载火箭的发射情况。发射任务的最终目标高度凡高于地球海平面100千米的卡门线均被收录,未收录探空火箭的亚轨道任务。 (UTC+9)11时58
  • JR西日本321系电力动车组321系是西日本旅客铁道(JR西日本)一个直流电用一般型电力动车组系列,是JR西日本的第二世代通勤列车。321系以207系为基础开发,开发代号即为“D207系”。开发目的是要替换JR京都