Native Client

✍ dations ◷ 2025-12-01 15:20:17 #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解码器软件。

相关

  • 斑块丘疹(英语:papule),为局限性、实质性、直径小于1cm的表浅隆起性皮损。丘疹表面可扁平(如扁平疣(英语:flat wart))、圆形脐凹状(如传染性软疣)或粗糙不平呈乳头状,颜色可呈紫红色(如扁平
  • 普沃茨克普沃茨克(波兰语:Płock)是位于波兰中部马佐夫舍省的一个镇,之前曾是普沃茨克省的省会,位于维斯瓦河畔,面积88.06平方公里,人口126,675人(2009年6月30日)。普沃茨克在历史上曾是波兰
  • 台湾电视博览馆本段时间均以二十四小时制东八区时间(UTC+8)为准。台湾电视博览馆(英语:Taiwan Television Exposition)是台湾电视公司(台视)创办的台湾第二个电视博物馆,2004年4月28日开馆,2008年1
  • 丁嘉丽丁嘉丽(1959年12月-),黑龙江佳木斯人,中国女演员。出演过电影《山林中头一个女人》 、《过年》、《无人喝彩》、《头发乱了》、《没事偷着乐》、《特别手术室》、《小巷总理》 、
  • 广东省国内生产总值(GDP)收录历年广东省GDP总量。原始数据来源参考《中国统计年鉴》和《广东统计年鉴》,以最新修订数据为准。
  • 美国儿童与青少年精神医学会美国儿童与青少年精神医学会(英语:American Academy of Child and Adolescent Psychiatry、AACAP)是一个总部设在美国华盛顿哥伦比亚特区的非营利专业技术协会,致力于提倡儿童与
  • 圣保罗 (巴西)圣保罗(葡萄牙语:São Paulo,葡萄牙语发音:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicode","Code2000","
  • 飞母托飞,又译飞母托(英语:femto-) ,是一个国际单位制词头,符号f,表示10-15,或0.000 000 000 000 001。它源自于丹麦语femten,意思是“十五”。使用举例:
  • 金·比兹利金·克里斯奇·比兹利(英语:Kim Christian Beazley,1948年12月14日-),澳大利亚工党籍政治家、外交官。1948年12月生于西澳州Subciaco,毕业于西澳大学。1980年当选为澳大利亚国会议
  • 尧都区尧都区是中国山西省临汾市所辖的一个市辖区。总面积为1307平方公里,2013年人口为81万人。尧都区相传是尧的都城,也是尧禅让天下给舜的地方。今天区内的金殿镇是古代平阳县所在