Rosetta

Rosetta苹果电脑公司发布的在Mac OS X上的一个二进制编译器软件,这个软件的名字起源于罗塞塔石碑(Rosetta Stone)。在考古学上,它的发现成为破译古埃及象形文本的关键。苹果利用这名字来形容编译器的重要性。

Rosetta
配备Intel处理器的Mac电脑正在运行PowerPC应用程序Internet Explorer for Mac
配备Intel处理器的Mac电脑正在运行PowerPC应用程序Internet Explorer for Mac
开发者苹果公司
操作系统Mac OS X 10.4.4–10.6.8(Intel)
macOS Big Sur 11.0–(ARM)
类型PowerPC 二进制翻译(Rosetta)
Intel 二进制翻译(Rosetta 2)

Rosetta可以让在Power PC平台上开发的软件在英特尔平台的麦金塔电脑上顺利运行。它基于Transitive公司的QuickTransit技术,也是麦金塔电脑从PowerPC向英特尔转换的一个重要部分,确保原先的Mac OS X进程能在新的英特尔平台上运行。虽然和英特尔原生编译的软件比较起来会有速度上的差别,但是对大多数对CPU资源使用不是很多的软件来说,速度上的差别是非常小的。在Intel版本的Mac OS X上,用户可以在通用二进制进程的选项里选择是否使用Rosetta来运行进程。

因架构转换已完成数年,大多数Mac平台软件已更新为通用二进制甚至不再支持PowerPC架构,因此在2009年推出的Mac OS X Snow Leopard,Rosetta不再缺省随附于系统安装中,但用户可从系统光盘或网络下载自行安装。而2011年夏天推出的Mac OS X Lion,则不再支持Rosetta。[1]

2020年macOS 11.0 Big Sur内置Rosetta 2可以让在Intel平台上开发的软件在ARM架构平台的麦金塔电脑上顺利运行。是麦金塔电脑从Intel向ARM转换的一个重要部分,确保原先的macOS进程能在新的ARM平台上运行。

性能

Rosetta预装在英特尔芯片麦金塔电脑的操作系统上。它可以将G3G4AltiVec指令进行翻译,但是不编译需要G5的软件——这些应用进程需要开发者自行修改。尽管如此,目前几乎没有软件必须需要G5处理器这样的高配置,所以对于绝大多数的应用进程来说,Rosetta都可以工作。

苹果公司声称,那些重视用户互动而较少计算量的应用进程(比如Word等文本处理器)是比较适合通过Rosetta编译的;而需要大计算量的进程,比如Photoshop等就并非如此了。原先苹果公司的"Pro"系列媒体产品应用软件的PowerPC版本(Final Cut Pro/Express, Motion, Soundtrack Pro, DVD Studio Pro, Aperture,和Logic Pro/Express)都不支持Rosetta,而这些软件需要另外的通用二进制版本才能运行在英特尔麦金塔电脑上。

总的来说,Rosetta不能在以下环境中运行:

  • 基于Mac OS 9及其以下版本的应用进程。
  • 需要将设置插入系统参数设置的代码
  • 必须基于G5处理器的应用进程
  • 屏幕保护进程
  • 内核拓展进程,以及其他基于此的应用进程
  • 捆绑Java平台的应用进程,和不能被编译的JNI(Java本地接口,Java Native Interface)库的应用进程
  • Rosetta编译后应用进程中的Java插件。这意味着,仅PowerPC网页浏览器(如微软Internet Explorer for Mac)将无法读取Java插件。用户需要支持英特尔版本的浏览器,如SafariCaminoFirefox或者新版本的Opera等等)。
  • 其他读取的二进制库。

Rosetta 2

Rosetta 2预装在使用ARM芯片麦金塔电脑的操作系统上。它可以将AMD64指令进行翻译,对于绝大多数的来说,Rosetta 2都可以运作。

与Rosetta不同,苹果公司声称,由于Rosetta 2在安装软件时会把Intel版本转换为ARM,加上Apple处理器性能很高,因此即使需要大计算量的进程,Rosetta 2编译也能流畅地运行。当然,前述所指是Intel版本Mac操作系统上的应用程序,因此,这并不包括在Windows操作系统上开发的应用程序。Windows版的应用程序需要虚拟机或类似功能的系统

参考

  1. AppleInsider Staff. . AppleInsider. AppleInsider, Inc. 26 February 2011 [27 February 2011]. (原始内容存档于2011-03-01).

参见

外部链接

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.