Native Client

✍ dations ◷ 2025-12-04 09:27:21 #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解码器软件。

相关

  • 查尔斯·帕森斯查尔斯·阿尔杰农·帕尔森斯(英语:Charles Algernon Parsons,1854年6月13日-1931年2月11日),英国-爱尔兰工程师。他是蒸汽涡轮发动机的发明者。查尔斯生于英国伦敦的一个盎格鲁爱
  • 赛洛新脱磷酸裸盖菇素是一种致幻性蘑菇生物碱,与磷酸化的裸盖菇素共见于多数迷幻蘑菇中。在中华人民共和国是第一类精神药品。其精神作用多变,一般作用时间在3-8小时。可由裸盖菇素
  • 泰国电影列表泰国电影列表是关于泰国出品的电影列表。
  • 开化五族文明化五部族(英语:Five Civilized Tribes),指美国原住民中的五个部族。分别是奇克索人、切罗基人、乔克托人、克里克人以及塞米诺尔人。有时为了避免暗指其他族群较“野蛮”,“
  • 汪敬煦汪敬煦(1918年5月30日-2011年9月17日),中华民国陆军二级上将,生于北京,籍贯浙江杭州,陆军官校14期工兵科、美国陆军工兵学校5期、美国陆军参谋大学正规班2期、三军大学战争学院59年
  • 加拿大法语加拿大法语(法语:français canadien)主要使用于加拿大。2001年加拿大全国人口调查结果显示,现时约有670万加拿大人以法语作为母语,占全国人口23%。由于种种原因,例如是地理上的隔
  • 阿尔布雷希特 (符腾堡)阿尔布雷希特·玛利亚·亚历山大·菲利普·约瑟夫(,1865年12月23日-1939年10月29日),末代符腾堡国王威廉二世的推定继承人,符腾堡公爵,符腾堡王室家族首领(1921年—1939年)。阿尔布雷
  • 完美图定理在图论中,完美图定理(由洛瓦兹·拉兹洛证明László Lovász (1972a, 1972b))断言:一个无向图是完美的当且仅当其补图也是完美的。这个结论一度是Claude Berge(英语:Claude Berge)提
  • 1855年波尔多葡萄酒分级制度公元1855年,在法国的1855年世界博览会上,拿破仑三世要求将波尔多葡萄酒分级,用来向来自世界各地的人们推广。此分级制度便是当时酒商们根据各个法式城堡(Château)的名声、价格、
  • EA SportsEA Sports(又作EA SPORTS)是艺电旗下制造研发体育电子游戏的品牌。前身是艺电的一个行销噱头,他们将尝试仿造现实生活体育网络自称为“EA Sports Network”(EASN),并有着像是约翰