MacOS X

Post Reply
Message
Author
fungs

MacOS X

#1 Post by fungs »

Ich habe kürzlich den Artikel in der neuen c't über das neue MacOS X gelesen, und habe mich dann gefragt, ob es nicht einfacher sei, Anwendungen von diesem OS auf Liux zu emulieren, denn es basiert ja schließlich auch auf einem Unix-System. Wäre das nicht eine einfache Möglichkeit, in den Genuß von kommerzieller Sofware zu kommen, die es noch nicht für Linux gibt? Sogar Microsoft portiert seie Anwendungen wie Exel auf MacOS X.

Kreddel

Re: MacOS X

#2 Post by Kreddel »

Hi fungs!

> Ich habe kürzlich den Artikel in der neuen c't über das neue MacOS X gelesen, und habe mich dann gefragt, ob es nicht einfacher sei, Anwendungen von diesem OS auf Linux zu emulieren, denn es basiert ja schließlich auch auf einem Unix-System. Wäre das nicht eine einfache Möglichkeit, in den Genuß von kommerzieller Sofware zu kommen, die es noch nicht für Linux gibt?

Es ist wesentlich einfacher Windows-Programme auf Linux laufen zu lassen als MacOSX-Programme, denn es gibt bereits WINE, etwas entsprechendes muesste man fuer eine MacOSX-Emulation erst erstellen.
Desweiteren lauft MacOSX auf PowerPCs, die meisten Linuxer haben jedoch Intel-Rechner.
Daher muesste man den kompletten PC emulieren. Das wurde auch schon in einem freien Projekt getan, jedoch benoetigt das wiederum ein funktionierendes MacOS.


> Sogar Microsoft portiert seie Anwendungen wie Exel auf MacOS X.

1. Microsoft hat seine Programme schon immer doppelt geschrieben: Einmal fuer Win/Unix und einmal fuer MacOS. Die Programme die auf Unixen laufen (wie der IE5 fuer Solaris) wurden einfach mit einer Bibliothek, die den WINE-Bibliotheken sehr aehneln, jedoch bereits laenger existieren und weit besser sind einfach nur neu kompiliert. Nur beim MacOS hat Microsoft die Programme bisher immer wieder zum grossen Teil neu geschrieben. MacOS9, fuer das Microsoft die Programme neu geschrieben hatte ist jedoch nicht zu Unix kompatibel.
MacOSX ist jedoch nun ein FreeBSD-Kern mit einem Aufsatz der gewissermassen MacOS9 emuliert.
Wenn Microsoft nun fuer MacOSX entwickelt, dann weiss ich nicht, welche der beiden Schienen er dann damit laufen wird.

Kurz gesagt: Es ist mit Sicherheit einfach Bibliotheken zu entwickeln, damit Programme die fuer MacOSX entwickelt wurden sich auch auf Linux kompilieren lassen. Es waere auch nicht das Problem diese Bibliotheken zu erweitern, so dass man aehnlich WINE auf PowerPCs mit Linux, MacOSX-Programme ausfuehren kann. Das Problem ist jedoch, dass Du willst, dass MacOSX-Programme auch auf x86-Linux laufen sollen. Und da das eine _echte_ Emulation wird (also nicht so wie bei WINE) ist damit zu rechnen, dass die Programme dann ungefaehr so langsam ausgefuehrt werden wie Java-Programme. Und bevor ich lahmarschige Programme auf meinem x86-Linux laufen lasse, kaufe ich mir doch lieber direkt einen PPC mit MacOSX. (Wobei allein dort schon angeblich die Programme sehr behaebig laufen sollen, da MacOSX ein Resourcenfresser ist)

fungs

Re: MacOS X

#3 Post by fungs »

Ja, den Prozessor habe ich bei der Überlegung ganz außer Acht gelassen. Ich weiß natürlich das für Windows schon Projekte existieren, den Windows gibt es ja schon etwas länger als MacOS X. Ich hatte nur an die BS-Verwandschaft gedacht, und es müsste doch nun wirklich einfacher sein, für MacOS X geschriebene Quelltexte mit dem an den Prozessor angepassten Kompiler eher auf Linux zum Laufen zu kriegen, als Win-Quelltexte.

Naja, aber dafür gibts ja Biblioteken, die auf mehreren Plattformen funktionieren, wie z.B. Qt2 :)

Descartes

Re: MacOS X

#4 Post by Descartes »

Es ist ja schon ein Unterschied ob ich nur das Betriebssystem emulieren muss weil beide auf der selben Hardwarearchitektur (ich meine CPU) laufen oder ob ich auch gleich noch die CPU emulieren muss.

Zum Beispiel Amiga <--> Atari:
+ beides auf Motorola 68000er CPU (muss nicht emuliert werden)
+ unterschiedliches Betriebssystem
+ Programme nicht binärkompatibel (muss emuliert werden)
+ unterschiedliche Peripherieprozessoren (Grafik- und Soundchipsatz, Boardchipsatz, etc.)

Zum Beispiel Apple <--> i386-PC:
+ unterschiedliche CPU (PowerPC vs. i386) (muss emuliert werden)
+ Big Endian <--> Little Endian CPU
+ zumeist unterschiedliches Betriebssystem (MacOS9 bzw. MacOSX vs. Win32 bzw. Linux) (muss dann emuliert werden)
+ Programme nicht binärkompatibel (muss emuliert werden)
+ unterschiedliche Peripherieprozessoren (Grafik- und Soundchipsatz, Boardchipsatz, etc.)

Selbst auf ein und derselben Hardwareplattform: Apple MacOSX <--> LinuxPPC
+ beides auf PowerPC CPU (muss nicht emuliert werden)
+ Programme nicht binärkompatibel (muss emuliert werden)+ zumeist unterschiedliches Betriebssystem (MacOSX vs. Linux) (muss emuliert werden)

Post Reply