Rosetta 技术专题简介-编程知识网

简介

  关于与“Rosetta”标题相近或相同的条目,请见“Rosetta (消歧义)”。Rosetta配备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向英特尔平台迁移PowerPC苹果-英特尔架构(英语:Apple–Intel architecture)通用二进制启动转换(Boot Camp)Rosetta查论编Rosetta是苹果电脑公司发布的在Mac OS X上的一个二进制编译器软件,这个软件的名字起源于罗塞塔石碑(Rosetta Stone)。在考古学上,它的发现成为破译古埃及象形文字的关键。苹果利用这名字来形容编译器的重要性。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。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处理器的应用程序

屏幕保护程序

内核拓展程序,以及其他基于此的应用程序

捆绑Java平台的应用程序,和不能被编译的JNI(Java本地接口,Java Native Interface)库的应用程序

Rosetta编译后应用程序中的Java插件。这意味着,仅PowerPC的网页浏览器(如微软的Internet Explorer for Mac)将无法读取Java插件。用户需要支持英特尔版本的浏览器,如Safari,Camino,Firefox或者新版本的Opera等等)。

其他读取运行时的二进制库。

Rosetta 2

Mac向苹果芯片迁移

苹果自研芯片

ARM架构

通用二进制2

Rosetta 2

Developer Transition Kit

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

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

参考

^ AppleInsider Staff. Mac OS X Lion drops Front Row, Java runtime, Rosetta. AppleInsider. AppleInsider, Inc. 26 February 2011 . (原始内容存档于2011-03-01).