Native Client

✍ dations ◷ 2025-09-18 06:03: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解码器软件。

相关

  • 日尔曼语日耳曼语族是印欧语系的一支,是居住在北部欧洲日耳曼民族的语族。这一族语言有鲜明的特征,最著名的有关于辅音演变的格里姆定律。一些早期(约公元2世纪)的日耳曼语言发展出自己
  • 沙或作砂,为颗粒物质的一种。沙为自然出现,被分割得很细小的岩石,其尺度为0.0625至2毫米。于此一尺度内的单一粒子称为沙粒。地质学下一个更小的尺度分类为泥,其颗粒大小由0.004
  • 姊(姐),通常在口语中多称为姊姊、姐姐或家姐,中国古代又称女兄。一般来说是用来称呼比自己年长、而又是同一父亲或母亲所生的女性。有时也有用作较自己年长的女性朋友的称呼,或用
  • 洪泛平原河漫滩,又称泛滥平原或洪泛平原,通常位于河流中下游,指由于河流堆积作用而形成的大片堆积体,是河流堆积地貌的一种。常在在枯水季节露出水面,在丰水季节又常被淹没。河漫滩一旦形
  • 厄勒海峡厄勒海峡(丹麦语:Øresund,瑞典语: Öresund)是一条分隔丹麦的西兰岛和瑞典南部斯科讷的一条海峡,最窄处仅4公里。厄勒海峡是连接波罗的海和大西洋(通过卡特加特海峡、斯卡格拉克
  • 五甲龙成宫五甲龙成宫,是台湾高雄市凤山区五甲庄的一间妈祖庙、祖师庙,在五甲自强夜市里,地址为凤山区五甲二路730巷6号。在五甲众多寺庙中,称得上是规模最雄伟的庙宇,故俗称“五甲大庙”,简
  • 深海生物聚落深海生物聚落是指栖息于深海的生物群集(英语:community (ecology))。由于技术和成本上的限制,目前关于深海生物相关的资讯仍付之阙如。深海生物有相当严酷的生存压力,例如高水压
  • 拜里米苏拉拜里米苏拉或拜里迷苏剌(马来语:Parameswara,1344年─1414年),满剌加国(马六甲王朝)开国君主。马来纪年记载,其原为室利佛逝巨港城的王子,传统信奉印度教混合佛教。拜里迷苏拉取名来
  • 西班牙国铁252型电力机车252型电力机车是西班牙国家铁路的电力机车车型之一,由德国西门子交通集团、克劳斯-玛菲公司、蒂森-亨舍尔集团等企业联合设计制造,1991年至1996年间累计生产了75台,其中首15台
  • 马赫下俯马赫下俯:亚音速飞机飞行马赫数超过临界马赫数后,飞机升力中心(焦点)先略向后移,再略向前移,最后再向后移。而升力中心后移会使飞机产生低头力矩,使飞机向下俯冲,也就是马赫下俯。民