Native Client

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

相关

  • 颈动脉在解剖学中,总颈动脉是负责供应头颈部充氧血最主要的动脉,左总颈动脉直接由主动脉发出,右总颈动脉由头臂动脉干发出。二者在颈部时分叉为外颈动脉和内颈动脉。左和右总颈动脉位
  • 粘液黏液(英语:mucus)是一种从人体的黏膜内层分泌出来的湿滑液体。黏液一般都是比较浓稠的胶状体,含有具抗菌功效的酵素,例如:溶菌酶、抗体等。黏液由满布黏膜表面内的杯状细胞制造,由
  • 性别认同性别认同(英语:Gender identity)是个人对自己的社会性别的亲身经历。性别认同可能与出生时的性别指定相关(即顺性别),也可能与其不同(即多元性别)。所有社会都有一套性别类别,可以作
  • 组团式城市群组团式城市群是商务印书馆于2003年出版的城市蓝皮书《中国城市发展报告》(2002-2003)中提出的关于描述中国大陆城市发展战略目标的宏观概念。组团式城市群的概念在学界使用并
  • 税收经济政策财政政策 · 货币政策贸易政策 · 投资政策农业政策 · 产业政策能源政策 · 社会政策政策组合税收政策 · 预算政策政府收入 · 政府支出政府预算 · 赤字政府债
  • 管齿目 Tubulidentata small/small土豚科(学名:Orycteropodidae)是管齿目(Tubulidentata)的唯一科,史前有若干属,现存仅1种,即土豚(Orycteropus afer)。仅分布于非洲。无蹄有锋利的爪,且是以动物性食物为主食。本类群曾
  • 戒严时期政治受难者墓园六张犁乱葬岗是一处位于台北市信义区六张犁的乱葬岗,埋葬于其中之骨骸多属1950年代无人认领之戒严时代死难者遗体,也是台湾地区少数至今仍存留且经确认之白色恐怖死难者或被处
  • 陕西师范大学坐标:34°9′32.9″N 108°54′10.3″E / 34.159139°N 108.902861°E / 34.159139; 108.902861陕西师范大学(简称:陕西师大、陕师大,英语:Shaanxi Normal University,缩写:SNNU),是
  • 翁贝托·德·阿伦卡尔·卡斯特略·布朗库翁贝托·德·阿伦卡尔·卡斯特略·布朗库陆军元帅(葡萄牙语:Humberto de Alencar Castelo Branco,1897年9月20日-1967年7月18日),巴西军事领袖及政治家。曾于1964年至1967年担任巴
  • 4月5日4月5日是公历年中的第95天(闰年的第96天),离全年结束还有270天。