MacOS 13 支持转译 Linux x86_64 应用程序,使用条件苛刻
苹果在北京时间前天凌晨举办了 WWDC 2022 开发者大会,相信大家在这两天都看到了不少相关资讯,多多少少都知道苹果在 WWDC 上都公布了些什么内容。但日前一份提供给开发者的文档中,我们还得知了苹果在发布会上完全没有提及的内容。
在 WWDC 上苹果公布了 macOS 13 Ventura,macOS 13 的一个有趣的技术变化是能够在配备 Apple Silicon 的 Mac 电脑上使用苹果的 Rosetta 软件在 ARM Linux 虚拟机上运行的 Linux x86_64 软件(层层嵌套、十分拗口,可能需要读者多读两遍)。
Rosetta 是苹果为 macOS 提供的一个编译器软件,最初为苹果从 PowerPC 转向 Intel CPU 提供了助力。而在 2020 年 macOS 11.0 Big Sur 中内建的 Rosetta 2 则是苹果从 Intel CPU 向 ARM 转换的一个重要部分,可以让原本在 Intel 平台上开发的软件在 ARM 架构平台的 Mac 电脑上顺利运行,让用户可以顺利过渡。
在 macOS 13 及以后的版本且装有 Apple Silicon 芯片的 Mac 电脑上,虚拟化框架支持 ARM Linux 虚拟机(VM)中的 Rosetta。Rosetta 是一个转译过程,允许用户在 Apple Silicon 上运行包含 x86_64 指令的应用程序。在 macOS 中,这允许为基于英特尔的 Mac 电脑构建的应用程序在 Apple Silicon 上无缝运行;Rosetta 可以在 ARM Linux 虚拟机中为英特尔 Linux 应用程序提供同样的功能。
换句话说,当用户在使用 ARM Linux 虚拟机时,除了可以运行原本就支持的 ARM 架构软件,还可以获得强大且数量众多的 Linux x86_64 软件支持。
这种 Rosetta 访问是通过 macOS 虚拟化框架完成的,用户只能通过 ARM Linux 虚拟机使用 Linux x86_64 应用,并不允许用户直接在 Apple Silicon Mac 上使用 Linux x86_64 应用。同样在 macOS 之外的地方也是无法使用的 —— 也就是说,在非苹果的 ARM Linux 或者是在支持 M1 芯片的 Asahi Linux 上都无法使用 Rosetta。
关于这项技术的安装以及可用性测试可以参见苹果官方文档,目前还不清楚这个用于 Linux x86_64 的 Rosetta 在实践中的具体效果如何,以及它与类似用途的开源 Box86/Box64 和 FEX-Emu 解决方案相比,其性能和可靠性孰优孰劣。同样如果这项技术对图形程序也很有效,反过来还有可能让用户在 Apple Silicon 上间接运行 Linux 游戏。
本文转自OSCHINA
本文标题:macOS 13 支持转译 Linux x86_64 应用程序,使用条件苛刻
本文地址:https://www.oschina.net/news/198998/macos-13-use-rosetta-in-arm-linux-vms
相关文章
- 【技术种草】cdn+轻量服务器+hugo=让博客“云原生”一下
- CLB运维&运营最佳实践 ---访问日志大洞察
- vnc方式登陆服务器
- 轻松学排序算法:眼睛直观感受几种常用排序算法
- 十二个经典的大数据项目
- 为什么使用 CDN 内容分发网络?
- 大数据——大数据默认端口号列表
- Weld 1.1.5.Final,JSR-299 的框架
- JavaFX 2012:彻底开源
- 提升as3程序性能的十大要点
- 通过凸面几何学进行独立于边际的在线多类学习
- 利用行动影响的规律性和部分已知的模型进行离线强化学习
- ModelLight:基于模型的交通信号控制的元强化学习
- 浅谈Visual Source Safe项目分支
- 基于先验知识的递归卡尔曼滤波的代理人联合状态和输入估计
- 结合网络结构和非线性恢复来提高声誉评估的性能
- 最佳实践丨云开发CloudBase多环境管理实践
- TimeVAE:用于生成多变量时间序列的变异自动编码器
- 具有线性阈值激活的神经网络:结构和算法
- 内网渗透之横向移动 -- 从域外向域内进行密码喷洒攻击