Wie kommt es, dass OS X-Anwendungen vom Prozessor abhängig sind, Windows-Programme hingegen nicht?

Wie kommt es, dass OS X-Anwendungen vom Prozessor abhängig sind, Windows-Programme hingegen nicht?

OS X-Apps müssen sowohl für PowerPC als auch für Intel erstellt werden, wenn beide Prozessoren unterstützt werden sollen.

Ich glaube jedoch nicht, dass dies bei Windows-Programmen der Fall ist. Warum?

Antwort1

Auf Verbrauchersystemen ist Windows seit weit mehr als einem Jahrzehnt nur in seiner x86-Prozessorvariante verfügbar (Windows 95 und Windows 2000 waren nur für x86-Systeme verfügbar, bei früheren Versionen bin ich mir nicht sicher). Es gibt jedoch Windows-Editionen, die auf demItaniumArchitektur, und Microsoft kündigte Unterstützung für ARM-Prozessoren in Windows 8 an.

Aber alle Windows-Desktopsysteme haben dieselbe grundlegende x86-CPU-Architektur.


Mac OS X war bis Anfang 2006 ausschließlich auf PowerPC-Prozessoren beschränkt, die Apple für seine Mac-Systeme verwendete. Im Laufe des folgenden Jahres stellte Apple seine Computerpalette dann schrittweise auf Intel x86-Prozessoren um. Mac OS X 10.4 (Anfang 2005 für PowerPC und Anfang 2006 für Intel veröffentlicht) war die erste Version, die sowohl als PowerPC- als auch als Intel/x86-Variante verfügbar war.

Sie stellten eine Kompatibilitätsschicht bereit,Rosettadie die Ausführung (älterer) PowerPC-Programme auf (neueren) Intel-Prozessoren ermöglichte, und viele (einfachere) Programme konnten durch Neukompilierung mit Apples Entwicklertools für beide verfügbar gemacht werden. Andere, die mit anderen Entwicklertools (wie Code Warrior) oder einigen größeren Softwareprodukten wie denen von Adobe erstellt wurden, brauchten eine Weile, bis sie nativ für Intel-Systeme verfügbar waren.

Mac OS X 10.6 (Ende 2009) war die erste Version, die die PowerPC-Unterstützung einstellte. Mac OS X 10.7 (Mitte 2011) stellte die Unterstützung für Rosetta und damit auch für PowerPC-Programme ein.

Dieser Wechsel in der Computerarchitektur für Macs ist auch der Grund, warum es jetzt möglich ist, Windows entweder direkt oder mithilfe der Virtualisierung auf Macs auszuführen.


Während Windows im Grunde nur auf x86-Systemen lief, gab es 2006 eine große Umstellung bei der Mac-Produktpalette. Da dies erst vor relativ kurzer Zeit geschah, unterstützen viele Softwareentwickler diese Systeme weiterhin, während Apple die Unterstützung sowohl für die Hardware als auch für die dafür geschriebenen Programme nach und nach eingestellt hat.

Antwort2

Das liegt an der unterschiedlichen Architektur, bei Fenstern wäre es genauso, wenn man dort etwas Ähnliches machen würde.

Tatsächlich ist die POWER-Architektur von IBM immer noch da und wird auf einer ganzen Reihe von Servern eingesetzt, die wiederum andere kompilierte Betriebssysteme benötigen als die für die x86(-64)-Intel-Architektur.

Antwort3

Windows muss die Zielarchitektur berücksichtigen. Sehen Sie sich die Optionen in Visual Studio an – Windows benötigt derzeit unterschiedliche Builds für 64-Bit- und 32-Bit-Architekturen. Auch für ARM (demnächst). Und in den alten Tagen von Windows 95 mussten auch die Unterschiede zwischen 16 und 32 Bit berücksichtigt werden. Sogar früher, in den 80er Jahren, musste Windows 3 mit 8088-Systemen umgehen. Es läuft darauf hinaus, dass der Maschinencode, der in die ausführbare Datei ausgegeben wird, für verschiedene Befehlssätze unterschiedlich sein muss.

Beide Linien bieten auch Optionen für die Ausrichtung auf ältere Versionen ihrer Betriebssysteme. Dinge ändern sich, Compiler müssen sich mit ihnen ändern, und wir alle möchten auch Legacy-Unterstützung.

verwandte Informationen