Native Client

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

相关

  • 列奥那多·达·芬奇列奥纳多·达·芬奇(意大利语:Leonardo da Vinci;儒略历1452年4月15日-1519年5月2日),又译达文西,全名列奥纳多·迪·瑟皮耶罗·达·芬奇(Leonardo di ser Piero da Vinci,意为“芬奇
  • 洛克希德·马丁公司洛克希德·马丁(英语:Lockheed Martin,NYSE:LMT)是一家美国航空航天制造厂商,1995年由洛克希德公司与马丁·玛丽埃塔公司共同合并而成。 洛克希德·马丁以开发、制造军用飞机闻名
  • 梅里韦瑟县梅里韦瑟县(Meriwether County, Georgia)是美国乔治亚州西部的一个县。面积1,309方公里。根据美国2000年人口普查,共有人口22,534人。县治格林维尔 (Greenville)。成立于1827年
  • 公害公害,是指在追求自身而不顾他人和公共环境的情况下,对社会和个人所造成的破坏或破坏源。 公害成立有三个要件: 一、妨害人民者,如公务人员可能对人民的危害。 二、可经由匿名检
  • 肉桂醛肉桂醛(英语:Cinnamaldehyde),亦作桂皮醛,是一种醛类有机化合物,为黄色黏稠状液体,大量存在于肉桂等植物体内。肉桂的树皮(即桂皮)的特殊香味就是来源于这种化合物。 除肉桂外,樟树的
  • 果敢人果敢族(缅甸语:ကိုးကန့်လူမျိုး)是缅甸东北边境的世居民族,具有缅甸官方少数民族的地位。在缅甸,他们被认为从中国云南省而来,居住在果敢县的中国汉人;而在中国,有人
  • 反对称性数学上,若对所有的 a 和 b 属于 X,下述语句保持有效,则集合 X 上的二元关系 R 是反对称的:“若 a 关系到 b 且 b 关系到 a,则 a = b。”数学上表示为:严格不等是反对称的;实际上
  • 满桂满桂(16世纪?-1630年),汉族,祖籍山东兖州府峄县,出生于万全都司宣府前卫(今河北省张家口市境内),明朝将领,官至太子太师,中军都督府右都督,曾任辽东、大同等处总兵官。满桂善骑射,为人忠勇
  • 米德尔伯里学院坐标:44°00′32″N 73°10′38″W / 44.00889°N 73.17722°W / 44.00889; -73.17722美国佛蒙特州米德尔堡44°00′33″N 73°10′38″W / 44.009247°N 73.177344°W / 44.
  • 萨拉·丹尼尔斯萨拉·丹尼尔斯(瑞典语:Sara Danius,1962年4月5日-2019年10月12日),是瑞典文学评论家,曾任瑞典学院院士和常任秘书。萨拉·丹尼尔斯生于瑞典斯德哥尔摩省泰比,先后就读瑞典斯德哥尔