Native Client

✍ dations ◷ 2025-11-28 23:37:10 #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解码器软件。

相关

  • 丿丿部,是为汉字索引中的部首之一,康熙字典214个部首中的第四个(一划的则为第四个)。就繁体和简体中文中,丿部归于一划部首。丿部通常从左方或中间为部字。且无其他部首可用者将部
  • 昆阳之战昆阳之战,是中国新朝于公元23年(地皇四年,更始元年)时发生的一场内战战役。以绿林军为主体的刘秀军,在昆阳县(今河南省叶县)大破新朝王莽四十余万主力部队。昆阳之战的结果不仅仅直
  • 杨念祖杨念祖可以指以下的人:
  • 艾森豪威尔主义艾森豪威尔主义(英语:Eisenhower Doctrine)是指美国总统德怀特·艾森豪威尔于1957年1月5日提出的一份演说,意旨若中东国家受到另一个国家武装侵略,可以跟美国提出经济或军事上的
  • 自吸过滤式呼吸器自吸过滤式呼吸器,也叫机械过滤式呼吸器(英语:mechanical filter respirator),是一类使用机械过滤的方式从空气中清除颗粒物,阻止其到达佩戴者的鼻子和嘴巴的口罩。这类过滤器用于
  • 苏丹草原苏丹草原,以热带草原为特征的一个非洲自然地带,指非洲中北部西起马里共和国,东至埃塞俄比亚,北为撒哈拉沙漠,南至几内亚湾沿岸和刚果盆地的横贯东、西濒大西洋。大部为海拔500-10
  • 2014年意大利大奖赛2014年意大利大奖赛(英语:2014 Italian Grand Prix),官方名称为2014年一级方程式意大利大奖赛(意大利语:Formula 1 Gran Premio d'Italia 2014),是一级方程式赛车在2014年9月7日举办
  • 弗兰克·富卡里诺弗兰克·A·富卡里诺(英语:Frank A. Fucarino,1920年7月24日-2012年4月3日),为美国NBA联盟的前职业篮球运动员。
  • 马蒂兰·雅克·布里松马蒂兰·雅克·布里松(法语:Mathurin Jacques Brisson,1723年4月30日-1806年6月23日),法国动物学家、自然哲学家,曾为法国科学院院士。
  • 扎娜·诺瓦科维奇扎娜·诺瓦科维奇(塞尔维亚语西里尔字母:Жана Новаковић,拉丁转写:Žana Novaković,1985年6月24日-),波斯尼亚和黑塞哥维那女子高山滑雪运动员。扎娜·诺瓦科维奇代表