Native Client

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

相关

  • 语言岛语言岛,也称语言孤岛、方言岛,是指某种语言完全处于其他语言或方言地理上的包围之中的一种语言现象。多数是由人口迁徙造成的。一般情况下,语言岛内的语言使用范围狭小,处于周边
  • 公共神学公共神学(Public theology)是指基督教参与社会,让教会和社会对话的基督教神学。公共神学寻求国家的福祉,并且建立对所有人公平的社会,其作法是参与公众关注的议题,以建构共同利益(
  • mEg/L当量(符号为:eq 或Eq),有时又称为摩尔当量、克当量,是一个在化学或生物科学中使用的单位,用于表示物质的量。 当量正式定义为一个物质的量,它可以是:一物质含一当量所需要的质量,称为
  • 书包书包是一种袋,用于放入文具随身携带,从前多称书袋。书包通常由使用者背于肩上行走。在古代,中国人一般使用纯布的书袋装文具或长褂装入文具。到现代时,受西方的影响,越来越多的人
  • 约翰·拉塞特约翰·拉塞特(英语:John A. Lasseter,1957年1月12日-)是一位美国的动画师、电影导演、皮克斯动画工作室创始人之一,也是前皮克斯动画工作室和华特·迪斯尼动画工作室的首席创意官
  • 荷兰国旗荷兰国旗呈长方形,由三条水平色带组成,由上至下的颜色为红、白、蓝,是现存最古老的三色旗。其中红色代表勇气,白色代表祝福及庇佑,蓝色代表对祖国的忠诚。荷兰曾受西班牙统治,于16
  • 南美短面熊属†布宜诺斯艾利斯南美短面熊 (Gervais, 1852) †窄齿南美短面熊 (Gervais & Ameghino, 1880) †古老南美短面熊 (Ameghino, 1885) †温氏南美短面熊 (Ameghino, 1902)
  • 潘奇加尼潘奇加尼(Panchgani),是印度马哈拉施特拉邦萨塔拉县的一个城镇。总人口13280(2001年)。该地2001年总人口13280人,其中男性7531人,女性5749人;0—6岁人口1204人,其中男618人,女586人;识
  • 平田真吾 平田真吾(日语:平田 真吾/ひらた しんご ,1989年8月29日-)是一名出身于日本山口县下关市的棒球选手,司职投手,目前效力于日本职棒横滨DeNA海湾之星。72 川村丈夫 | 73 木冢敦志 |
  • 青邱图青邱图(청구도)又称青邱线表图(청구선표도),是朝鲜王朝地理学家、地图学家金正浩绘制的韩半岛地图,制成于1834年。它为金正浩后续作品《大东舆地图》打下了重要基础。现为大韩民国