Native Client

✍ dations ◷ 2025-11-10 02:17:35 #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解码器软件。

相关

  • 差分方程在数学上,递推关系(recurrence relation),也就是差分方程(difference equation),是一种递推地定义一个序列的方程:序列的每一项目是定义为前一项的函数。像户口调查映射(logistic map
  • 葡萄酒工艺学酿酒学酿酒 (英语:enology) 是科学研究的对象以及了解葡萄酒的知识。其应用领域将葡萄酒及其生产包装以及延伸到由近及远的葡萄酒文化各个领域扩展(品酒,储藏和消费的成品)。这
  • Xe氙(Xe,原子量:131.293(6))的同位素,其中有5个稳定同位素和2个观测上稳定的同位素,这7种同位素都可以在天然的氙元素中找到,是所有元素中,稳定元素第二多的元素。除这些稳定同位素之
  • 五术饮食 - 服饰 - 建筑 - 文物 - 节日 - 教育 科学 - 五术(医学 - 术数) - 武术五术是中国传统文化中极为重要的组成部分,并影响到汉字文化圈其他地区,是对庞大复杂的道术(秦汉前称
  • 二氢尿嘧啶二氢尿嘧啶(英语:Dihydrouracil)是尿嘧啶分解代谢的中间产物之一,能与核糖通过C-N糖苷键组成的二氢尿苷,在RNA中能与腺嘌呤形成互补配对。医学导航:遗传代谢缺陷代谢、k,c/g/r/p/y
  • 西柏林西柏林(德语:West-Berlin;法语:Berlin-Ouest;英语:West Berlin)是对1949年到1990年间柏林西部地区的称呼。西柏林是自1945年二战结束后建立的英美法共同占领区,此地区在其存在期间行
  • 马提尼克省长马提尼克省长(Le préfet de Martinique),是法国海外大区和海外省的马提尼克的省长。阿根廷总统 · 安提瓜和巴布达总理 · 巴巴多斯总理 · 巴哈马总理 · 巴拉圭总统 · 巴拿
  • 伞穗山羊草伞穗山羊草(学名:)为禾本科山羊草属下的一个种。
  • 李哲承 (1922年)李哲承(韩语:이철승,1922年5月15日-2016年2月27日),号素石(소석), 本贯全义李氏,全罗北道全州人,韩国政治家、民主运动人士和学生政治领袖。他是韩国历史上的传奇人物。1949年–高丽大
  • 铁兰属空气菠萝是铁兰属、空气菠萝属(学名:)植物的通称,又名气生菠萝、空气草、铁兰花。属于菠萝科植物,是一般食用菠萝的近亲。分布于中南美洲、南美洲和北美洲南部。原生种类逾500种,