Portierung von Unix Open-Source-Software auf Mac OS X close

Bitte warten

Bitte installieren Sie den Flash Player, wenn kein E-Book erscheint.



Details

Veranstaltung: Studiengang Informationswirtschaft
Institution/Hochschule: Hochschule der Medien Stuttgart
Tags: Portierung, Unix, Open-Source-Software, Studiengang, Informationswirtschaft
Kategorie: Studienarbeit
Jahr: 2004
Seiten: 25
Note: 1,3
Literaturverzeichnis: ~ 16  Einträge
Sprache: Deutsch
Dateigröße: 616 KB
Archivnummer: V60290
ISBN (E-Book): 978-3-638-54000-1

Textauszug (computergeneriert)

Portierung von Unix Open-Source-Software auf Mac OS X

von: Christof Lechner

 


Inhaltsverzeichnis

Einleitung 5

1 Grundlagen: Unix 7

1.1 Mach-Kernel 7
1.2 Berkley Software Distribution 7
1.3 Kombination von Mach und BSD  8
1.4 Darwin (OS X Kernel)  8

2 Graphische Oberflächen in Unix-Systemen 10

2.1 Das X-Window System  10

2.1.1 Client-Server Architektur  10
2.1.2 Fenstermanager 11
2.1.3 X-lib, X Toolkit Intrinsics und Widget-Sets  11

2.2 Das Gimp Toolkit (gtk+)  12

3 Graphik unter Mac OS X  14

3.1 Grundlagen  14

3.1.1 Graphik-Technologien: Quartz et al 14
3.1.2 GUI: Aqua  15

4 Portierung auf Mac OS X  17

4.1 Definition: Portierung 17
4.2 Unix/Linux Open-Source-Software auf dem Macintosh 17

4.2.1 X-Window unter Mac OS X 17
4.2.2 Gtk+ unter Mac OS X 20

4.3 Beispiel: OpenOffice.org 20

5 Zusammenfassung und Ausblick  23

Literaturverzeichnis  24

Quellenverzeichnis  25
 

 


Abkürzungsverzeichnis

API = Application Programming Interface
BSD = Berkley Software Distribution
GIMP = Gnu Image Manipulation Programme
GNOME = GNU Network Object Model Environment
GNU = GNU is not Unix
GPL = General Public License
GTK = Gimp Toolkit
GUI = Graphical User Interface
MWM = Motif Window Manager
OASIS = Organization for the Advancement of Structured Information Standards
PDF = Portable Document Format
RIG = Rochester Intelligent Gateway
[...]

 


 

Einleitung

Die vorliegende Studienarbeit soll einen Überblick über Portierungsmöglichkeiten von Unix Open-Source-Software auf das Apple-Betriebssystem Mac OS X geben, sowie eine Einführung in Graphiktechnologien unter Unix und OS X darstellen, die mit der Portierung in diesem Fall thematisch verknüpft sind. Der Begriff Open-Source bezeichnet in dieser Arbeit eine Gruppe von Applikationen und Betriebssystemen (BS), deren Quellcode frei verfügbar ist und die zur Benutzung keine kommerzielle Lizenzierung voraussetzen. Üblicherweise werden diese unter der „General Public License“ (GPL) veröffentlicht, welche die freie Weitergabe des Quellcodes ermöglicht. Der Sourcecode einer solchen Applikation kann üblicherweise von einer Website heruntergeladen und eingesehen werden. Auf diese Weise arbeiten an einem Projekt viele Entwickler weltweit, die Fehler beseitigen, neue Funktionen einfügen und die Software stabiler machen. Die Änderungen, die am Code vorgenommen werden stehen ebenfalls unter der GPL, d.h. dass auch geänderte Software immer frei bleibt.

Open-Source-Software stellt heute eine feste Größe bei BS (z.B. Linux) oder Anwendungen (z.B. Emacs) dar, und kann sich mit kommerziellen Lösungen in punkto Qualität durchaus messen, oder übertrifft diese sogar. Die Übertragung auf andere OS (Operating Systems), wie z.B. Windows oder eben Mac, machen diese Software einem immer größer werdenden Benutzerkreis verfügbar und werden damit zu einer ernst zunehmenden Konkurrenz für große Software-Firmen wie Microsoft. Wenn qualitativ hochwertige Software für Textverarbeitung (OpenOffice.org) und Bildbearbeitung (Gimp) frei verfügbar ist, besteht für den Benutzer kein Grund mehr teure Software käuflich zu erwerben. Gleichzeitig entdecken Softwarefirmen Open-Source als neues Geschäftsfeld. Dies zeigt der Kauf der Suse-Linux AG durch Novell dieses Jahr, sowie das Engagement von IBM im Open-Source-Bereich. Auch Apple hat den Nutzen von Open-Source für sich entdeckt und fördert die Portierung durch Produkte wie X11 für Mac OS X (siehe Kapitel 4). Mac OS X ist ein Unix-System, doch ist der Aufbau oberhalb der Kernel-Ebene von anderen Unix komplett verschieden, was die Portierung zu einer komplexeren Aufgabe macht.

Das erste Kapitel setzt sich mit den Wurzeln von OS X auseinander, und zwar speziell mit dem Mach/BSD(Berkley Software Distribution)-Unix, welches teilweise als Vorlage für das Apple-BS angeführt werden kann. Kapitel 2 beschäftigt sich mit traditionel- len Unix-Graphiktechnologien, Kapitel 3 mit denen unter OS X verwendeten. Dies ist für das Thema Portierung interessant, da Open-Source-Software, und zwar solche die unter Unix/Linux standardmäßig verwendet wird, heute zum größten Teil noch nicht nativ auf dem Macintosh läuft, d.h. noch nicht die Apple-Graphiktechnologie verwendet, sondern auf traditionellen Unix-Technologien aufsetzt. Dies gilt für die meisten großen Projekte wie Gimp und OpenOffice.org. Das vierte Kapitel schließlich bietet eine kurze Einführung in das Thema Portierung selbst, sowie in die Portierungsmöglichkeiten zwischen traditionellem Unix und dem Mac-Unix. Der Stand auf dem sich die meisten Projekte heute befinden wird an einem Beispiel deutlich gemacht. Was diese Arbeit nicht leisten kann: Eine umfassende technische Einführung in das Thema Portierung ist aufgrund der Zeit und des Platzes nicht möglich. Portierung ist ein sehr komplexer Bereich, dessen genaueste Ausführung den Rahmen sprengen würde. Es soll lediglich ein Überblick darüber verschafft werden auf welchen Stand sich die Portierung auf den Mac heute befindet und welche Möglichkeiten sich daraus für die Zukunft ergeben. Auch ist eine allzu detaillierte Beschreibung von Technologien auf beiden Plattformen nicht möglich und auch nicht Sinn der Arbeit.

1 Grundlagen: Unix

Im folgenden Kapitel sollen die Unix-Wurzeln von Mac OS X kurz erläutert werden. 1.1 Mach-Kernel

Die Wurzeln des Mach-Kernel reichen bis ins Jahr 1975 (vgl. Schulz 2003, S. 25-26) zurück. Damals wurde an der Universität Rochester das RIG (Rochester Intelligent Gateway)- System entwickelt. Hauptentwicklungsziel war es, den Beweis zu erbringen, dass BS modular aufgebaut werden können. Die Kommunikation der kooperierenden Prozesse (also der Module), erfolgte über Nachrichten, wobei auch Netzwerkfähigkeit mit eingeschlossen wurde. Einer der Entwickler, Richard Rashid, entwickelte das RIG ab 1979 weiter. Daraus entstand Mach, welches er zu Unix kompatibel machte, unter anderem auch um eine große Anzahl von Unix-Software verfügbar zu machen.

1.2 Berkley Software Distribution

Die Universität Berkeley erhielt 1974 von AT&T die 4er-Edition des noch neuen Betriebssystems Unix. Die Arbeiten beschleunigten sich, als 1976 Ken Thompson, ein maßgeblicher Unix-Entwickler, eine Gastprofessur in Berkeley antrat. Inzwischen waren auch die 5er- und 6er-Edition erschienen. Die Erweiterungen und Änderungen stellte der damalige Student Bill Joy 1977 erstmals zusammen und stellte es externen Interessenten auf einem Magnetband zur Verfügung – die erste Berkeley-Software-Distribution. 1978 waren bereits so viele neue Teile hinzugekommen, dass die zweite Berkeley Software Distribution (2BSD) zusammengestellt wurde.

Computerhersteller übernahmen die Berkeley Software Distribution und passten sie auf ihre Maschinen an. 1982 wechselte Bill Joy zur neu gegründeten Firma Sun Microsystems, die im selben Jahr die erste Version ihres auf BSD basierenden Betriebssystems SunOS herausbrachte. SunOS wurde im Lauf seiner Entwicklungsgeschichte um viele Funktionen erweitert, blieb aber lange Zeit seinen BSD-Wurzeln treu. Auch andere Unix-Hersteller verwendeten Teile der BSD. So setzte NeXT ab 1988 für sein Betriebssystem NeXTSTEP ein BSD-System mit einem Mach-Mikrokernel ein. Zur Grafikausgabe benutzte NeXTSTEP Display Postscript von Adobe. Dies ist die Postscript-Variante für Monitore (statt für Drucker) und ermöglicht echtes WYSIWYG. NeXTSTEP setzte im Gegensatz zu anderen Unix-Systemen nicht auf das X-Window System auf (siehe Kapitel 2.1), sondern verfolgte einen neuen Ansatz auf Basis von Display Postscript und einem objektorientierten Anwendungs-Framework, das die Programmierung von grafischen Benutzeroberflächen stark vereinfachte. Objective C war die Standard-Programmiersprache unter NeXTSTEP. Berkeley setzte seine Tradition fort und entwickelte die Distribution weiter. 1983 erschien 4.2BSD und 1986 4.3BSD.

1.3 Kombination von Mach und BSD

[...]

Kommentare

Dieser Text kann über folgende URL aufgerufen und zitiert werden:

http://www.grin.com/e-book/60290/