Native Client

✍ dations ◷ 2025-12-03 13:37:50 #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解码器软件。

相关

  • 鼓膜鼓膜(Tympanic membrane)是分割外耳和中耳的薄膜。鼓膜是耳的重要组成部分,它获取空气中的声音,并将之传递给中耳中的听小骨。在听小骨中,直接与鼓膜相连的是锤骨。鼓膜的破裂或
  • 低温物理学低温物理学 (Cryogenics),又称低温学,是物理学的分支,主要研究物质在低温状况下的物理性质的科学,有时也包括低温下获得的生成物和它的测量技术。而低温物理学中的低温定义为−1
  • 贝塔受体阻滞剂β受体阻断药(英语:Beta blockers),又称Beta受体阻断药、β受体阻断剂、β受体阻滞剂、β受体拮抗剂或β阻断药、乙型阻断剂,是一类用来治疗心律不齐、防止心脏病发作后的二次心
  • 磷酸二羟丙酮二羟丙酮磷酸(英语:Dihydroxyacetone phosphate;DHAP)是一种生物化学分子,参与多种反应途径,包括卡尔文循环等多种植物生理代谢,以及糖解作用。在糖解作用里,DHAP是果糖-1,6-双磷酸
  • 刘光第刘光第(1861年6月18日-1898年9月28日),字德星,号裴村、别号古愚,原名光谦,号吉六,四川省叙州府富顺县南赵化镇西街风景间处人。清末维新变法人士,戊戌六君子之一。刘光第祖籍福建省汀
  • 双角子宫双角子宫(Bicornuate uterus),是一类妇科发育障碍,为双侧分离的子宫内膜腔连于一个宫颈,系双侧副中肾管融合不良所致。主要包括两种类型,完全性双角子宫(两个子宫从宫颈内口处分开)
  • 脑沟脑沟(Sulcus,复述为sulci),为大脑皮层中呈现裂缝状的部位;与呈现隆起的回状结构脑回相对。出现脑回和脑沟的原因是,演化过程中折叠结构使颅内相同容量下人类可以有更多大脑皮质。
  • 吉恩·路易斯·卡巴尼斯吉恩·路易斯·卡巴尼斯(德语:Jean Louis Cabanis,1816年3月8日-1906年2月20日),德国著名鸟类研究学家。卡巴尼斯出生于柏林,1835年至1839年在柏林大学完成学业后,旅行到了北美,携带
  • 崖角藤属崖角藤属(学名:)又名针房藤属,是天南星科龟背竹亚科下的一个属,为粗壮、木质藤本植物。该属约有近100种,从非洲、南亚、东南亚、澳洲东北部到西太平洋等热带及亚热带地区都有本属
  • 汤玛士·布雷克·哥拉巴汤玛士·布雷克·哥拉巴(Thomas Blake Glover;1838年6月6日-1911年12月16日)是苏格兰出身的商人。以武器商人身份在幕末的日本活跃着。在日本开始运行商业铁路前,就已经进行蒸气