Rosetta是蘋(píng)果公司開(kāi)發(fā)的動(dòng)態(tài)二進(jìn)制翻譯器,用于Mac OS系統(tǒng)中不同指令集架構(gòu)之間的應(yīng)用程序兼容性。它的名字來(lái)源于羅塞塔石碑,這個(gè)石碑的發(fā)現(xiàn)成為破譯古埃及象形文字的關(guān)鍵。第一個(gè)版本的Rosetta于2006年作為麥金塔 OS X Tiger的組成部分推出,是從PowerPC處理器向英特爾處理器的轉(zhuǎn)換的一部分,使PowerPC應(yīng)用程序能夠在基于Intel的Mac上運(yùn)行。第二個(gè)版本于2020年作為macOS Big Sur的組成部分推出,是從Intel處理器向Apple silicon的轉(zhuǎn)換的一部分,使Intel應(yīng)用程序能夠在基于Apple silicon的Mac上運(yùn)行。Rosetta 2是一個(gè)重要的部分,確保原先的Mac OS程序能在新的ARM平臺(tái)上運(yùn)行。 另外,Rosetta還是一個(gè)基于粗糙集理論框架的表格邏輯數(shù)據(jù)工具,提供了多種數(shù)據(jù)預(yù)處理功能,如決策表補(bǔ)齊、決策表離散化等及其算法,同時(shí)提供了粗糙集中常見(jiàn)的約簡(jiǎn)和規(guī)則的獲取算法,支持從數(shù)據(jù)預(yù)處理到預(yù)測(cè)和分析規(guī)則的全過(guò)程,是一個(gè)很好的粗糙集理論軟件和實(shí)驗(yàn)平臺(tái)。雖然Rosetta在2009年推出的Mac OS X Snow Leopard中不再預(yù)設(shè)隨附于系統(tǒng)安裝中,但使用者可從系統(tǒng)光碟或網(wǎng)路下載自行安裝。而2011年夏天推出的Mac OS X Lion,則不再支援Rosetta。
軟件簡(jiǎn)介
Rosetta提供了多種數(shù)據(jù)預(yù)處理功能,如決策表補(bǔ)齊、決策表離散化等及其算法,同時(shí)提供了粗糙集中常見(jiàn)的約簡(jiǎn)和規(guī)則的獲取算法,支持從數(shù)據(jù)預(yù)處理到預(yù)測(cè)和分析規(guī)則的全過(guò)程,是一個(gè)很好的粗糙集理論軟件和實(shí)驗(yàn)平臺(tái)。2021年3月3日,據(jù)外媒 MacRumors報(bào)道,在M1 Mac上安裝即將到來(lái)的macOS 11.3更新可能會(huì)導(dǎo)致Rosetta 2 在全球一個(gè)或多個(gè)地區(qū)被刪除。
發(fā)展沿革
Rosetta的第一個(gè)版本是作為麥金塔從PowerPC處理器向英特爾處理器過(guò)渡的一部分而推出的。它基于QuickTransit技術(shù),無(wú)需用戶界面,需要時(shí)自動(dòng)啟動(dòng),用戶不會(huì)收到通知。Rosetta可以選擇在Mac OS X v10.6“Snow Leopard”中安裝,但在Mac OS X Lion(10.7)或更高版本中既不包含也不受支持,因此無(wú)法運(yùn)行PowerPC應(yīng)用。
Rosetta 2是為了幫助Mac過(guò)渡到蘋(píng)果公司芯片而與macOS Big Sur捆綁發(fā)布的。它允許專門(mén)為x86-64處理器編譯的應(yīng)用程序在蘋(píng)果芯片麥金塔上運(yùn)行。Rosetta 2的安裝可以通過(guò)終端直接安裝程序,或者在嘗試打開(kāi)專門(mén)為x86-64編譯的應(yīng)用程序時(shí),Mac OS會(huì)提示安裝。除了即時(shí)(JIT)翻譯支持外,Rosetta 2還提供了提前編譯(AOT),在安裝不帶通用二進(jìn)制的應(yīng)用程序時(shí),x86-64代碼將被完全翻譯一次,然后在蘋(píng)果芯片Mac上執(zhí)行。
Rosetta 2的性能受到贊揚(yáng),尤其是在搭載蘋(píng)果M1 SOC的Mac上,通過(guò)Rosetta 2執(zhí)行的x86-64程序的性能甚至優(yōu)于在搭載英特爾 x86-64處理器的Mac上本地執(zhí)行。蘋(píng)果公司m1 SOC支持x86-64內(nèi)存排序,并具有專用指令來(lái)計(jì)算x86標(biāo)志,這是其高翻譯效率的關(guān)鍵原因之一。盡管Rosetta 2適用于大多數(shù)軟件,但有些軟件根本無(wú)法運(yùn)行或被報(bào)告為“緩慢”。
自macOS Ventura以來(lái),運(yùn)行Linux作為客戶操作系統(tǒng)的虛擬機(jī)的用戶可以利用Rosetta 2來(lái)在虛擬機(jī)內(nèi)運(yùn)行專門(mén)為L(zhǎng)inux編譯的x86-64代碼。有開(kāi)發(fā)人員在第三方硬件上安裝了這個(gè)運(yùn)行時(shí)二進(jìn)制,前提是它包含至少支持ARMv8.2-A指令集的CPU;內(nèi)存排序?qū)⑴c本機(jī)x86不同。這可能違反了Mac OS的許可協(xié)議,因?yàn)樵撨\(yùn)行時(shí)二進(jìn)制是捆綁在蘋(píng)果公司的虛擬化框架中的。
功能服務(wù)
主要功能
最近核心計(jì)算可能提供的一些功能:
導(dǎo)入/導(dǎo)出
通過(guò)ODBC實(shí)現(xiàn)DBMS之間的部分整合;
將規(guī)則、知識(shí)最小表示(reduct)、表格、圖例和其他對(duì)象轉(zhuǎn)化為多種格式,包括XML,C++和Prolog。
預(yù)處理
填充決策表(decision table)中缺失的數(shù)據(jù);
數(shù)據(jù)屬性的離散化。
計(jì)算
支持監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí);
支持用戶自定義的區(qū)分概念(notions of discernibility)
對(duì)多種的區(qū)分性,有效的生成精確或近似的知識(shí)最小表示
用知識(shí)的最小表示產(chǎn)生if-then規(guī)則和描述模式
代碼運(yùn)行
支持交叉驗(yàn)證(cross-validation)
后處理
先進(jìn)的知識(shí)最小表示和規(guī)則過(guò)濾功能
驗(yàn)證和分析
合成規(guī)則在未知樣本中的應(yīng)用
生成混淆矩陣(confusion matrices)、ROC曲線和校準(zhǔn)曲線(calibration curves)
根據(jù)高級(jí)質(zhì)量度量,對(duì)每個(gè)規(guī)則進(jìn)行評(píng)估
提供統(tǒng)計(jì)假設(shè)檢驗(yàn)工具
附加功能
利用容差關(guān)系(tolerance relations)進(jìn)行聚類
計(jì)算分割(partitions)和可變精確度的近似粗糙集
支持隨機(jī)觀察取樣
代碼開(kāi)源
完備的說(shuō)明文檔
功能特色
Rosetta的定位是一個(gè)用于簡(jiǎn)化模型的通用型工具,而不是針對(duì)某一特定領(lǐng)域。
Rosetta平臺(tái)的可操作性強(qiáng),便于數(shù)據(jù)瀏覽。它的界面具有面向?qū)ο蟮奶攸c(diǎn),每個(gè)可操作的對(duì)象在界面上都用單獨(dú)的項(xiàng)目表示,每個(gè)項(xiàng)目包含一些與上下文相關(guān)的菜單。
它的核心計(jì)算功能可用命令行執(zhí)行,適用于Perl或Python代碼調(diào)用。
參考資料 >