Native Client

✍ dations ◷ 2025-04-12 07:46:48 #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解码器软件。

相关

  • Appel, Jacob M.雅各布·阿佩尔(英语:Jacob M. Appel,1973年2月21日-)是一位美国作家、生物伦理学家、医生、律师和社会评论家。 生于布朗克斯,并且在斯卡斯代尔成长。阿佩尔最为人所知的是他的短
  • 罗斯汗国罗斯汗国是现代历史学家所用的名称,并不是当时对该国之称呼。罗斯汗国是一个由罗斯人所建立的国家或城市集团。该地区当时的人口由波罗的海人,斯拉夫人,芬兰人,突厥人,匈牙利人和
  • 法兰西帝国普遍人对法兰西帝国(法语:Empire français)一词可以有各种不同见解,大致上指的是:
  • 基因拼接剪接(英语:splicing,又称拼接),是一种基因重组现象,在分子生物学中,主要是指细胞核内基因信息在转录过程中或是在转录过后的一种修饰,即将内含子移除及合并外显子——内含子与外显子
  • 莪相莪相(Ossian)是传说中3世纪时爱尔兰英雄,吟游诗人;被指为1760年起苏格兰诗人詹姆斯·麦佛森 (James Macpherson) 发表一系列史诗的作者。当代评论家对于作品真实性的看法有分歧
  • 2013年法国网球公开赛2013年法国网球公开赛(法语:Internationaux de France de tennis 2013,英语:2013 French Open,2013年5月26日—6月9日)是第112届法国网球公开赛,也是2013年度网球大满贯系列赛的第2
  • 指南针航空以美鹰航空名义:以达美连接航空名义:指南针航空(英语:Compass Airlines)是一家总部设在美国明尼阿波利斯-圣保罗国际机场的区域航空公司。截止2018年6月,指南针航空机队情况如下:
  • 夏夕尼陨石夏夕尼陨石是在1815年10月3日早上约8:00墬落在法国上马恩夏夕尼的一颗陨石,夏夕尼陨石是依据墬落地点夏夕尼命名的,并且是火星陨石 (SNCs) 中"C"的来源。夏夕尼陨石是橄榄石的
  • 彼得·彼得森彼得·彼得森(Peter Petersen)(1884年6月26日—1952年3月21日)德国学校教育改革家。为了对抗具有领导地位并以人文方法研究的传统教育学,彼得森尝试推动教育学实案研究,企图结
  • 王廷相 (光绪进士)王廷相(1851年-1900年),字梅岑。直隶承德人。清朝官员。进士出身。光绪十二年(1886年)中进士;同年五月,改翰林院庶吉士。光绪十五年四月,散馆,授翰林院编修,历官山西学政。光绪二十三年