Native Client

✍ dations ◷ 2025-12-06 07:46:01 #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解码器软件。

相关

  • 腰椎穿刺腰椎穿刺(英文:Lumbar puncture或Spinal tap,常称LP)是一种将长针插入脊椎腔(英语:spinal canal)的诊断医学手段。其目的一般是获取脑脊液,以用于诊断性试验。腰椎穿刺的主要是为了
  • AmOsub2/sub二氧化镅 (AmO2) 是一种黑色的 镅化合物,它可以做为α粒子源,常用于电离式烟雾探测器。固体的二氧化镅为结晶态, 结构类似于萤石与CaF2的结构 。
  • 字典纸字典纸,也称圣经纸(英语:Bible Paper),是一种薄而略透明的纸张,多用于印刷圣经、字典、百科全书等页数很多的书籍。这种纸通常含有棉或亚麻成分以增加其强度。
  • V01A·B·C·D·G·H·QI·J·L·M·N·P·R·S·VATC代码V01(过敏原)是解剖学治疗学及化学分类系统的一个药物分组,这是由世界卫生组织药物统计方法整合中心(The WHO Collaboratin
  • 1491年重要事件重要人物
  • 同姓结婚同姓不婚是同姓的男女不得互相通婚的婚姻制度。夏商时代,并无同姓不婚之制度。中国从西周时代起,才确立了这一婚姻制度,出于伦理和生理两方面的考虑。如“同姓不婚,惧不殖也”;“
  • 脊髓灰质炎患者中的名人脊髓灰质炎(英语:poliomyelitis,简称polio),俗称小儿麻痹症(中文名称译自日语“小児麻痺”;后者则译自英语infantile paralysis),又译急性灰白髓炎。是由脊髓灰质炎病毒引起,可感染人
  • 杨树达杨树达(1885年6月1日-1956年2月14日),字遇夫,号积微,晚年号耐林翁。湖南省长沙县人。中国语言文字学家。中华民国教育部部聘教授、中央研究院院士、中国科学院院士。鲁迅有两篇文
  • 伊斯兰教词汇列表以下列出由伊斯兰教及阿拉伯传统习俗引伸出来,并用阿拉伯语表达的知名词汇。主要目的是要甄别不同的拼写方式、列出已经不再使用的拼写、为这些词汇给出简短的定义、令人可以
  • 沉默的舰队《沉默的舰队》(日语:沈黙の艦隊)是日本漫画家川口开治的日本漫画作品。在1988年至1996年间发表于讲谈社的《周刊Morning》。并且在1990年获得该出版社的漫画奖。于1996年改编