Native Client

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

相关

  • 斯图尔特·亚当斯斯图尔特·桑德斯·亚当斯 OBE(英语:Stewart Sanders Adams,1923年-2019年1月30日),英国化学家。在20世纪60年代,他作为博姿公司研发团队的主要成员,研制出止痛药物布洛芬,并是研究
  • 铁路事故列表铁路事故列表,分年列举全球各地的铁路事故。
  • 滤嘴香烟过滤嘴用于减少吸烟时入口的烟雾、焦油和燃烧时产生的悬浮粒子,但是无法降低其健康危害。滤嘴也减少烟雾的刺激性,并避免吸烟者吸入烟叶。1925年,鲍里斯·阿维阿斯在英国邦
  • 辽阳市辽阳市是中华人民共和国辽宁省下辖的地级市,位于辽宁省中部,北邻沈阳,南接鞍山,东临本溪,西接辽河油田,是哈大线上重要的城市之一。辽阳古称襄平、辽东城,是以石化产业为主的现代工
  • 辽中区辽中区是辽宁省沈阳市下辖的一个市辖区。位于沈阳市西南部,辽河中游。原为辽中县。下辖4街道、12个镇:蒲西街道、于家房镇、朱家房镇、冷子堡镇、刘二堡镇、茨榆坨街道、新民
  • 英国皇家纹章英国皇家徽章,即是英王徽,盾面上两组三只金狮象征英格兰,红狮象征苏格兰,竖琴象征北爱尔兰。两侧是代表英格兰的狮子和代表苏格兰的独角兽。盾徽周围的圈饰用古法语写着Honi soi
  • 循环 (控制流程)循环是计算机科学运算领域的用语,也是一种常见的控制流程。循环是一段在程序中只出现一次,但可能会连续运行多次的代码。循环中的代码会运行特定的次数,或者是运行到特定条件成
  • 大湳站大湳站是桃园捷运绿线(兴建中)、新北捷运三莺线的一座车站,位于桃园市八德区,桃园捷运部分预计2025年通车。兴建中的桃园捷运系统绿线,站体类型:地下车站,营运单位为桃园大众捷运
  • 爱德华·鲁佩尔特爱德华·鲁佩尔特(英语:Edward J. Ruppelt,1923年7月17日-1960年9月15日),美国空军上尉,因为对不明飞行物的研究而闻名。爱德华·鲁佩尔特在爱荷华州出生长大。他在第二次世界大战
  • 哥打峇鲁县哥打峇鲁县(马来语:Jajahan Kota Bharu),是马来西亚吉兰丹州北部的一个县。其面积为409平方公里,人口于2010年为491,237。该县北临南中国海,西临道北县和巴西马县,东临万捷县和巴西