Evrensel ikili - Universal binary

Evrensel bir uygulamayı belirtmek için kullanılan logo

evrensel ikili biçim, içinde elma parlance için bir format yürütülebilir dosyalar her ikisinde de yerel olarak çalışan PowerPC veya Intel imal edilmiş IA-32 veya Intel 64 tabanlı Macintosh bilgisayarlar. Formatın kaynağı Sonraki adım gibi "Multi-Architecture Binaries "ve kavram daha genel olarak bir şişman ikili, görüldüğü gibi Power Macintosh.

Serbest bırakılmasıyla Mac OS X Kar Leoparı ve bundan önce, 64 bit genel olarak mimariler, bazı yazılım yayıncıları Mozilla[1] "evrensel" terimini, hem i386 (32-bit Intel) hem de x86_64 sistemleri için derlemeleri içeren dolgun bir ikili dosyaya atıfta bulunmak için kullanmışlardır. Bir uygulamanın PowerPC veya Intel yapıları arasında seçim yapmak için kullanılan aynı mekanizma, PowerPC veya Intel mimarilerinin 32 bit veya 64 bit yapıları arasında seçim yapmak için de kullanılır.

Ancak Apple, üçüncü taraf yazılım yayıncılarına Apple'ın evrensel ikili dosyalar ile ilgili ticari markalarını kullanma izni vermek için hem PowerPC hem de Intel ile yerel uyumluluk gerektirmeye devam etti.[2] Apple, bu tür üçüncü taraf yazılım yayıncılarının tüm mimariler için ayrı derlemeler paketlemesinin gerekip gerekmediğini (ya da paketlemesini) belirtmez.

Evrensel ikili dosyalar 2005'te Mac OS'ye tanıtıldı Apple Dünya Çapında Geliştiriciler Konferansı Mevcut PowerPC mimarisinden 2006 yılında piyasaya sürülen Intel işlemcilere dayalı sistemlere geçişi kolaylaştırmanın bir yolu olarak. Evrensel ikili dosyalar tipik olarak hem PowerPC hem de x86 derlenmiş bir uygulamanın sürümleri. işletim sistemi başlığıyla evrensel bir ikiliyi algılar ve kullanılan mimari için uygun bölümü çalıştırır. Bu, uygulamanın, daha büyük ikili program tarafından kaplanan depolama alanındaki bir artışın ötesinde hiçbir olumsuz performans etkisi olmadan yerel olarak herhangi bir desteklenen mimaride çalışmasını sağlar.

Mac OS X Snow Leopard'dan başlayarak, yalnızca Intel tabanlı Mac'ler desteklenmektedir, bu nedenle özellikle yalnızca Mac OS X 10.6 veya daha yeni sürümlerde bulunan yeteneklere bağlı olan yazılımlar yalnızca Intel tabanlı Mac'lerde çalışacak ve bu nedenle Intel / PPC fat ikili dosyaları gerektirmeyecektir. . Ek olarak, ile başlayarak OS X Lion, yalnızca 64 bit Intel Mac'ler desteklenir, bu nedenle özellikle OS X 10.7 veya daha yeni sürümlerdeki yeni özelliklere bağlı olan yazılımlar yalnızca 64 bit işlemcilerde çalışır ve bu nedenle 32 bit / 64 bit dolgun ikili dosyalar gerektirmez.[3][4] Fat ikili dosyalar yalnızca sahip olmak üzere tasarlanmış yazılımlar için gerekli olacaktır. geriye dönük uyumluluk eski sürümleriyle Mac OS X eski donanım üzerinde çalışıyor.

Yeni Evrensel 2 ikili format, 2020 Dünya Çapında Geliştiriciler Konferansı'nda tanıtıldı.[5] Universal 2, uygulamaların her ikisinde de çalışmasına izin verir Intel x86-64 tabanlı ve ARM64 tabanlı Macintosh bilgisayarlar, etkinleştirmek için Apple silicon'a geçiş.

Motivasyon

İki genel alternatif çözüm vardır. Birincisi, biri x86 mimarisi ve diğeri PowerPC mimarisi için derlenmiş iki ayrı ikili dosya sağlamaktır. Bununla birlikte, bu, ikisi arasındaki farka aşina olmayan yazılım kullanıcıları için kafa karıştırıcı olabilir, ancak karışıklık, iyileştirilmiş dokümantasyon veya hibrit CD'ler. Diğer alternatif ise güvenmektir. öykünme bir mimarinin diğer mimariyi çalıştıran bir sistem tarafından oluşturulması. Bu yaklaşım daha düşük performansla sonuçlanır ve genellikle yalnızca evrensel ikili dosyalar veya özel olarak derlenmiş ikili dosyalar mevcut olana kadar geçici bir çözüm olarak kabul edilir. Rosetta.

Evrensel ikili dosyalar, tek platformlu ikili dosyalardan daha büyüktür çünkü derlenen kodun birden çok kopyası depolanmalıdır. Ancak, çalıştırılamayan bazı kaynaklar iki mimari tarafından paylaşıldığı için, ortaya çıkan evrensel ikilinin boyutu her iki ikilinin birleşiminden daha küçük olabilir ve genellikle daha küçüktür. Ayrıca ekstra gerektirmezler Veri deposu çünkü bu iki kopyadan yalnızca biri yürütme için yüklenir.

Tarih

Evrensel ikili kavramı "Multi-Architecture Binaries " içinde Sonraki adım ana mimari temeli Mac OS X. NeXTSTEP, evrensel ikili dosyaları destekler, böylece bir yürütülebilir görüntü, aşağıdakiler dahil olmak üzere birden çok mimaride çalıştırılabilir: Motorola 's m68k, Intel 's x86, Sun Microsystems 's SPARC, ve Hewlett Packard 's PA-RISC. NeXTSTEP ve macOS kullanımı Maço evrensel ikilinin altında yatan ikili biçim olarak arşiv.

Apple, daha önce geçiş sırasında benzer bir teknik kullanmıştır. 68 bin işlemcilerden 1990'ların ortalarında PowerPC'ye geçti. Bu çift platformlu yürütülebilir dosyalara şişman ikili, daha büyük dosya boyutlarına atıfta bulunarak.

Elmalar Xcode 2.1, bu sürümdeki yeni bir özellik olan bu dosyaların oluşturulmasını destekler. İle geliştirilmiş basit bir uygulama işlemci bağımsızlığı akılda evrensel bir ikili olarak derlemek için çok az değişiklik gerekebilir, ancak mimariye özgü özelliklerden yararlanmak için tasarlanmış karmaşık bir uygulama önemli değişiklikler gerektirebilir. Başlangıçta diğer geliştirme araçları kullanılarak oluşturulan uygulamalar ek değişiklikler gerektirebilir. Bu nedenler, Intel tabanlı Macintosh bilgisayarların piyasaya sürülmesi ile evrensel ikili formatta üçüncü taraf uygulamaların kullanılabilirliği arasındaki gecikme için verilmiştir. Apple'ın Intel tabanlı bilgisayarları önceden duyurduğu programdan birkaç ay önce teslim etmesi bu boşluktaki bir başka faktör.

Elmalar Xcode 2.4, dört mimarili ikili dosyaların oluşturulmasına (hem Intel hem de PowerPC için 32- ve 64-bit) izin vererek evrensel ikili dosyalar kavramını daha da ileri götürür, böylece tek bir yürütülebilir dosyanın herhangi birinin CPU yeteneklerinden tam olarak yararlanmasına izin verir. Mac OS X makine.

Evrensel uygulamalar

Birçok yazılım geliştiricisi, 2005 WWDC'den bu yana ürünleri için evrensel ikili güncellemeler sağlamıştır. Aralık 2008 itibariyle, Apple'ın web sitesinde 7.500'den fazla Universal uygulaması listelenmiştir.[6]

16 Nisan 2007'de, Adobe Sistemleri serbest bırakıldığını duyurdu Adobe Creative Suite 3 Uygulama paketinin Universal Binary formatındaki ilk sürümü.[7]

2006'dan 2010'a kadar birçok Mac OS X uygulaması Universal Binary formatına taşındı. QuarkXPress, Apple'ın kendi Final Cut Studio, Adobe Creative Suite, Microsoft Office 2008, ve Shockwave Oynatıcı sürüm 11 ile - bu süreden sonra çoğu yalnızca Intel uygulamaları haline geldi. Evrensel olmayan 32 bit PowerPC programları, Mac OS X 10.4, 10.5 ve 10.6 (çoğu durumda) çalıştıran Intel Mac'lerde çalışır, ancak bunlar anında çevrilmeleri gerektiğinden optimum olmayan performansla çalışır. Rosetta; Rosetta artık işletim sisteminin bir parçası olmadığından, Mac OS X 10.7 Lion ve sonraki sürümlerde çalışmayacaktır.

iOS

Apple, Universal Binaries ile aynı ikili biçimi kullandı: iOS birden fazla mimari birlikte varoluş durumunda varsayılan olarak uygulamalar: armv6-armv7-armv7s geçişi sırasında 2010 civarında ve armv7-arm64 geçişi sırasında 2016 civarında. Uygulama mağazası ikili dosyaları otomatik olarak inceltir. Bu uygulama için hiçbir ticari isim türetilmemiştir, çünkü bu sadece geliştiricinin endişesidir.[8]

Evrensel 2

22 Haziran 2020'de Apple, Intel x86-64 tabanlı işlemciler ARM64 tabanlı Elma silikon ile başlayan macOS Big Sur 2020'nin sonlarında.[9] Bu geçişe yardımcı olmak için, uygulamaların her ikisinde de çalıştırılmasını sağlamak için yeni bir Universal 2 ikili programı tanıtıldı. x86-64 tabanlı işlemciler veya ARM64 tabanlı işlemciler.[5]

Araçlar

Evrensel ikili dosyaları işlemek (oluşturmak veya bölmek) için ana araç, lipo komut bulundu Xcode. dosya macOS ve diğer bazılarında komut Unix benzeri sistemler Mach-O evrensel ikili dosyalarını tanımlayabilir ve mimari desteği rapor edebilir.[10] Kar Leoparı 's Sistem Profilcisi bu bilgiyi şurada sağlar: Başvurular sekmesi.

Ayrıca bakınız

Referanslar

  1. ^ "Mac OS X için Firefox 4: Gelişmiş Seçenekler". 10 Kasım 2010. Alındı 3 Mart, 2017.
  2. ^ "Mac OS X Universal Logosu: Mac OS X Universal Logo Lisansları için Yönergeler" (PDF). Apple Inc. Haziran 2007. Alındı 18 Ekim 2013.
  3. ^ "Mac OS X: 64 bit çekirdek sık sorulan sorular". Apple Inc. 4 Ekim 2012. Alındı 18 Ekim 2013.
  4. ^ "Mac OS X 10.7" Lion ", 32 bit EFI içeren Mac'lerde çalışır mı?" Gerçek dünya "testlerinde Mac OS X 10.7" Lion "performansı, Mac OS X 10.6" Snow Leopard "ile karşılaştırıldığında nasıldır? @ EveryMac.com ". everymac.com. Kyle Media. Alındı 6 Ekim 2017.
  5. ^ a b Axon, Samuel (22 Haziran 2020). "Bu, Apple'ın ilk Mac'leri Intel'den uzaklaştırmaya yönelik yol haritasıdır". Ars Technica. Alındı 23 Haziran 2020.
  6. ^ "Macintosh Ürün Kılavuzu: Evrensel Uygulamalar". Apple Bilgisayar. Alındı 22 Aralık 2008.
  7. ^ "Adobe, Creative Suite 3'ü Gönderir". Adobe Sistemleri. 16 Nisan 2007. Arşivlenen orijinal 8 Temmuz 2012. Alındı 18 Ekim 2013.
  8. ^ "lipo - iOS yağ ikilileri ve incelme". Yığın Taşması.
  9. ^ Amadeo, Ron (22 Haziran 2020). "Apple, tasarıma önem veren macOS 11," Big Sur "u duyurdu". Ars Technica. Alındı 23 Haziran 2020.
  10. ^ stany (6 Eylül 2005). "Mac OS X: Mach-O fat dosyalarından yağ kırpma". theconsultant.net. Alındı 18 Ekim 2013.

Dış bağlantılar