Native Client

✍ dations ◷ 2025-12-02 23:26:39 #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解码器软件。

相关

  • 麦哲伦号麦哲伦太空船,也称为金星雷达制图者,是美国国家航空航天局(NASA)于1989年5月4日发射,使用合成孔径雷达绘制金星表面地图和测量行星引力场的机器人太空探测器。麦哲伦探测器是第一
  • 碳氧化物碳氧化物是指只由碳与氧组成的化合物。最简单常见的碳氧化物包括一氧化碳(CO)和二氧化碳(CO2)。除了这两种为人熟知的无机物,碳与氧其实还能构成许多稳定或不稳定的碳氧化物,但在
  • 哥特兰哥特兰岛(瑞典语:Gotland)位于瑞典,也是瑞典及波罗的海最大的岛屿,面积为3,145.45平方公里,占瑞典国土的不足1%。据2004年资料显示,岛上有居民5.76万,其中约2.26万居住在主要城市维
  • 红杉国家公园巨杉国家公园(Sequoia National Park,或译美洲杉国家公园、红杉国家公园),是位于美国西部,加利福尼亚州内华达山脉内的一座国家公园。巨杉国家公园成立于1890年,是继黄石国家公园
  • 罗托路亚罗托路亚(毛利语:Te Rotorua-nui-a-Kahumatamomoe (意为Kahumatamomoe的第二大湖)英文:Rotorua),位于新西兰北岛中部的城市。座落于罗托路亚湖南岸,汉密尔顿东南105公里,陶朗加以
  • 二巯基丁二酸钠2,3-二巯基丁二酸(Dimercaptosuccinic acid、英文缩写为:DMSA),别名2,3-二巯基琥珀酸,一般简称二巯基丁二酸,是一种有机硫化合物,常温下为白色结晶状粉末。因分子内含有两个巯基,所
  • 雅克·马里顿雅克·马里顿又译雅克·马里丹或雅克·马里旦(法文:Jacques Maritain,1882年11月18日 – 1973年4月28日)是法国天主教哲学家。在新教的家庭出身,他一直奉行不可知论,后来在1906年
  • 托品托品是莨菪烷的衍生物,在第三个碳上有羟基,有时也称为3-托品醇(3-tropanol)。苯扎托品(英语:Benzatropine)及乙苯托品(英语:etybenzatropine)是托品的衍生物,托品也是抗胆碱剂阿托品结
  • 高梦旦高梦旦(1870年-1936年),名凤谦,字梦旦,以字行,福建长乐龙门乡人(今航城街道龙门村)。商务印书馆元老。少时他不追求仕途,好经世致用之学。1901年,他任浙江大学堂总教习。1902年,他率留学
  • 郎潜纪闻郎潜纪闻,清陈康祺著作四笔。成书于光绪十二年(1886年),共十一卷;是一部内容丰富,材料广泛的史料笔记,书中内容多辑录清代掌故琐事、风土民情,可补正史不足;中华书局已将前三笔合为一