Rosetta
这个软件的名字起源于羅塞塔石碑(Rosetta Stone)。在考古学上,它的发现成为破译古埃及象形文字的关键。苹果利用这名字来形容编译器的重要性。
配備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) |
Mac向英特尔平台迁移 |
---|
Rosetta是苹果电脑公司发布的在Mac OS X上的一个二进制编译器软件。
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预装在英特尔芯片麦金塔电脑的操作系统上。它可以将G3,G4和AltiVec指令进行翻译,但是不编译需要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处理器的应用程序
- 屏幕保护程序
- Kernel拓展程序,以及其他基于此的应用程序
- 捆绑Java平台的应用程序,和不能被编译的JNI(Java本地接口,Java Native Interface)库的应用程序
- Rosetta编译后应用程序中的Java插件。这意味着,仅PowerPC的网页浏览器(如微软的Internet Explorer for Mac)将无法读取Java插件。用户需要支持英特尔版本的浏览器,如Safari,Camino,Firefox或者新版本的Opera等等)。
- 其他读取的二进制库。
Rosetta 2
Rosetta 2预装在使用ARM芯片麦金塔电脑的操作系统上。它可以将x86_64指令进行翻译,对于绝大多数的应用程序来说,Rosetta 2都可以工作。
與Rosetta不同,苹果公司声称,由於Rosetta 2在安裝軟件時會把Intel版本程序轉換為ARM應用程序,加上Apple的處理器效能很高,因此即使需要大计算量的程序,Rosetta 2编译也能流暢地執行。
參考
- AppleInsider Staff. . AppleInsider. AppleInsider, Inc. 26 February 2011 [27 February 2011]. (原始内容存档于2011-03-01).