Native Client

✍ dations ◷ 2025-12-10 08:56:23 #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解码器软件。

相关

  • 大规模监控2001年–2007年–与英国政府通信总部合作项目非持续进行项目美国的大规模监控可以追溯到第一次世界大战的战时监控与审查制度(英语:Censorship_in_the_United_States#Wartime_
  • 固态瘤新生物、息肉、瘜肉或赘生物(英语:neoplasm),是指身体细胞组织不正常的增生,当生长的数量庞大,便会成为肿瘤(英语:tumor)。而肿瘤亦可以是良性或恶性的。肿瘤(英语:tumor)在医学上是指细
  • 皮尔罗伯特·皮尔爵士,第二代从男爵(英语:Sir Robert Peel, 2nd Baronet,1788年2月5日-1850年7月2日),出生于英国布莱克本附近,政治家,他被看作是英国保守党的创建人,及伦敦警察厅的成立者
  • 索贝克霍特普二世威格夫(Khutawyre Wegaf或者Ugaf)是埃及第十二王朝的最后一位法老。Kim Ryholt认为Sekhemre Khutawy是阿蒙涅姆赫特四世之子,约公元前1802年——约公元前1786年在位。
  • 扬州十日扬州十日是小说《扬州十日记》里中清军攻破扬州城后对城中平民进行大屠杀的事件。当时南明兵部尚书、建极殿大学士史可法组织军民对清军殊死抵抗。同年四月十八日,清豫亲王多
  • 黑头蜡嘴雀黑头蜡嘴雀(学名:Eophona personata),又名桑鳲、黄嘴雀,为燕雀科黄嘴雀属的鸟类。分布于俄罗斯、日本、朝鲜半岛以及中国大陆的东北、内蒙古、河北、山东、江苏、四川、福建等地,
  • TPPTPP可能指:
  • 微软开发者网络微软开发者网络(英语:MSDN, Microsoft Developer Network)是早期微软公司在推广Win32 程序设计以及开发工具时,专门为开发人员所提供的一个服务,是使用微软技术开发软件或应用程
  • 瓦赞计划瓦赞计划(法语:Plan Voisin)是一个巴黎市中心的重新开发计划,于1925年由法国瑞士籍建筑师柯比意提出,这个计划也是柯比意最著名的计划之一。柯比意提议将巴黎市中心5平方公里左右
  • 威廉·威尔逊·摩根威廉·威尔逊·摩根(William Wilson Morgan,1906年1月3日-1994年6月21日)是一位美国天文学家,主要的研究是恒星和星系的分类。摩根和菲利浦·蔡尔兹·基南发展了将恒星光谱进行分