Native Client

✍ dations ◷ 2025-08-13 20:07:16 #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解码器软件。

相关

  • 嗜中性球中性粒细胞(英语:Neutrophil 或 Neutrocyte,或全称 Neutrophilic Granulocyte)亦称嗜中性粒细胞或嗜中性多核球,是血液白细胞的一种,也是哺乳动物血液中最主要的一种白细胞。中性
  • 蕨类真蕨纲(Polypodiopsida),又称为链束植物(Monilophytes)是植物界中真叶植物下的两个演化支之一,是种子植物的姊妹群。真蕨纲比起较原始的石松门多了真正的叶子,但比起较进化的种子植
  • 几内亚比绍面积国家领袖国内生产总值(购买力平价) 以下资讯是以2016年估计国内生产总值(国际汇率) 以下资讯是以2016年估计人类发展指数 以下资讯是以2018年估计几内亚比绍共和国(葡萄牙语:R
  • 磷循环磷循环(英语:Phosphorus cycle)是生物地球化学循环,描述了通过岩石圈,水圈,生物圈的磷移动。因为磷和磷基化合物在地球上找到的典型范围的温度和压力下通常是固体,磷循环与许多其
  • 豆科植物豆科(学名:Fabaceae,保留名:Leguminosae)植物属于真双子叶植物豆目,约有800属19,325种。为被子植物中相当庞大的一科,占了已知开花植物物种的7%。部分物种在经济上具有重要地位,该科
  • 季节季节是每年循环出现的地理景观相差比较大的几个时间段。不同的地区,其季节的划分也是不同的。对温带地区而言,一年分为四季,即春季、夏季、秋季、冬季;而对于赤道地区只有旱季和
  • 威廉·克鲁克斯威廉·克鲁克斯爵士,OM,FRS(英语:Sir William Crookes,1832年6月17日-1919年4月4日),英国物理学家与化学家,参与皇家化学学院,致力于光谱学研究。威廉·克鲁克斯于1859年创办并主编《
  • 因特网信息访问协议因特网信息访问协议(英语:Internet Message Access Protocol,缩写:IMAP;以前称作交互邮件访问协议)是一个应用层协议,用来从本地邮件客户端(如Microsoft Outlook、Outlook Express、
  • 海龟科海龟科(学名:Cheloniidae)又名蠵龟科,是龟鳖目下海龟总科下的一个科,共5属6种现存物种。一些旧有的亚科如 Cheloniinae 及 Carettinae 已过时。
  • 1877年铁路大罢工1877年铁路大罢工(英语:Great Railroad Strike of 1877),亦称“大动乱”(Great Upheaval),是指巴尔的摩与俄亥俄铁路公司(英语:Baltimore and Ohio Railroad)(B&O)属下员工于1877年举行