Native Client

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

相关

  • 石墨石墨(Graphite),又称黑铅(Black Lead),是碳的一种同素异形体(碳的其他同素异形体有很多,为人熟悉的例如钻石)。作为最软的矿物之一,石墨不透明且触感油腻,颜色由铁黑到钢铁灰不等,形状可
  • 沉香木沉香木(Agarwood)指的是沉香属里的树木,但是沉香木这个俗称也普遍形容一些产生了“结香”效果之后而有了“沉香”味的特定树木。俗称沉香指的是沉香属植物流出的树脂与木质结合
  • 赛义德·本·阿比·瓦卡斯赛义德·本·阿比·瓦卡斯(阿拉伯语:سعد بن أبي وقاص‎,转写:Sa`d ibn Abi Waqqas)是公元610-611年间皈依伊斯兰教的早期皈依者,也是伊斯兰教先知穆罕默德的一位很重
  • SpotifySpotify(英语:Spotify,/ˈspɒtɪfaɪ/,中文名:声田、声破天、斯波蒂菲)是一家在线音乐流服务平台(英语:Music streaming service),2006年4月由Daniel Ek和Martin Lorentzon在瑞典创立
  • 好莱坞山好莱坞山(英语:Hollywood Hills)是加利福尼亚州洛杉矶市中心(英语:Central Los Angeles)地区的一个山坡邻区。好莱坞山横跨圣莫尼卡山内的卡温格山道(英语:Cahuenga Pass)。
  • 兜兰属5个,详见内文 Raf. Raf. Raf.拖鞋兰属(学名:),俗称兜兰、拖鞋兰、仙履兰、芭菲尔鞋兰,是兰科下的一个属。属名来自希腊文Paphia及pedilon(拖鞋)组合而成。paphia是希腊神话中的爱
  • 2017年国际足联沙滩足球世界杯2017年国际足联沙滩足球世界杯是第 9 届国际足联沙滩足球世界杯,由国际足联成员协会男子国家队争夺的首届沙滩足球锦标赛。2005年以前的比赛并不受国际足联管辖,而是以“沙滩
  • 萨缪尔·约瑟夫·阿格农萨缪尔·约瑟夫·阿格农(英语:Samuel Josef Agnon,希伯来语:.mw-parser-output .script-hebrew,.mw-parser-output .script-Hebr{font-size:1.15em;font-family:"Ezra SIL","Ezr
  • 霍华·萨斯顿霍华·萨斯顿(英语:Howard Thurston,1869年7月20日-1936年4月13日)是一位美国魔术师。萨斯顿从在街头表演小魔术开始,接着进入职业杂耍表演界,其扑克牌魔术和悬浮魔术等都十分知名
  • 李承润李承润(韩语:이승윤,1931年11月7日-2020年3月13日),男,仁川人,大韩民国政治人物。前副总理兼经济企划院部长,第九、十、十三、十四届国会议员。1931年生于京畿道仁川府。本贯全州。早