Native Client

✍ dations ◷ 2025-12-02 04:39:03 #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解码器软件。

相关

  • 对比浴对比浴(contrast bath therapy),又称为冷热交替疗法(Hot/Cold Immersion therapy),。属于物理治疗中水疗的特殊疗法之一。 由于水温低时会使皮肤下的血管收缩,而水温高时则会使血
  • 柠檬酸钙柠檬酸钙是柠檬酸的钙盐。它是一种常见的食物添加剂(E333(iii)),其常用作钙营养补充剂。钙元素占柠檬酸钙的质量的21%。柠檬酸钙是一种无臭的白色粉末,几乎不溶于水。柠檬酸钙是
  • 新闻杂志新闻杂志一般是以时事报导作特写的周刊。新闻杂志普遍较报纸深入报导,让读者了解周遭重大事件的背景,而不限于事实表面。新闻杂志的报导方式也影响了其他领域的传媒,如电视台与
  • 萨维德拉·拉马斯卡洛斯·萨维德拉·拉马斯(西班牙语:Carlos Saavedra Lamas ,1878年11月1日-1959年5月5日)是阿根廷的学者和政治家,他在1936年获得诺贝尔和平奖,为史上首位拉丁美洲的诺贝尔和平奖
  • 克拉勒姆克拉勒姆县(英语:Clallam County)是位于美国华盛顿州西北部的一个县,位于卑斯省美加边境的南边,北隔圣胡安海峡与加拿大温哥华岛相望,西临太平洋。根据美国2010年人口普查,共有人口
  • 西德尼·卓别林西德尼·卓别林(英语:Sydney Chaplin,1885年3月16日--1965年4月16日),英国演员,同时还是喜剧电影大师查理·卓别林同母异父的哥哥和经纪人。查理和第二任妻子丽泰·格雷的次子西
  • 静态变量静态变量(英语:Static Variable)在计算机编程领域指在程序执行前系统就为之静态分配(英语:Static memory allocation)(也即在运行时中不再改变分配情况)存储空间的一类变量。与之相
  • 九龙山九龙山可以指:
  • 内蒙古人民出版社内蒙古人民出版社(英语:Inner Mongolia People's Publishing House),是中华人民共和国的一个出版社,地点位于内蒙古呼和浩特市新城区中山东路8号波士名人国际B座5层。1951年,内蒙
  • 康懋达国际Commodore国际(Commodore International)是北美家用电脑与电子组件生产商。Commodore与子公司Commodore Business Machines在1970和1980年代加入家用个人电脑开发业。公司开发