UNIX at last

Apples Betriebssystem: MacOS X 10.1

Stacks Image 1489
Zunächst soll ein Überblick gegeben werden über MacOS X (sprich: zehn):

Nach dem Aufkauf von NeXT gelang mit Steve Jobs, einem Urvater Apples, auch dessen Betriebssystem NeXTStep und deren Entwickler in die heiligen Hallen nach Cupertino. NeXTStep wurde für den Mac auf PowerPC portiert und etliche neue Features wurden integriert.
Die Basis von MacOS X bildet BSD Unix. Dieser Systembestandteil nennt Apple Darwin und dieser wird als OpenSource Code von Apple freigegeben.
Über Darwin sitzt das grafische System mit den wohlklingenden Namen Quartz (2D), OpenGL (3D) und QuickTime (Multimedia).
Der darüber liegende Layer beinhaltet Programmumgebungen, namentlich Classic, Carbon, Cocoa und Java. Über allem liegt Aqua, das GUI (Graphical User Interface).
Stacks Image 22463

Darwin:

Für die Stabilität des Systems ist Darwin verantwortlich. Basierend auf BSD Unix und damit dem Mach 3 Kernel kennt es die Buzzword-features wie Speicherschutz, virtuelle Speicherverwaltung, preemptives und kooperatives Multitasking, symmetrisches Multiprocessing und Real-Time Unterstützung.

Auf deutsch: Jedes Programm bekommt Speicher zugewiesen und darf nicht außerhalb seines Bereiches in den Speicher schreiben. Benötigt es mehr Speicher, dann muß es ihn anfordern. Sollte das Programm abstürzen, dann sind keine anderen Progamme davon betroffen.
Die Prozessorleistung wird vom Kernel gelichmäßig unter den Prozessen verteilt. Damit kann kein Programm mehr die volle Leistung an sich reißen und den Computer zum Stillstand bringen. Sind mehrere Prozessoren vorhanden, dann verteilt der Kernel die Prozesse auf diese. Dazu müssen die Programme nicht umgeschrieben werden. Bei zwei Prozessoren wird die Leistung des Systemes ungefähr auf 190% erhöht. Der Rest der Leistung wird für die Verwaltung des Multiprocessings benötigt.

Der Kernel kann durch Kernelerweiterungen in seiner Funktionalität erweitert werden. So lassen sich problemlos weitere Dateisysteme anhängen und diese werden dynamisch geladen und auch wieder entladen. Das gleiche gilt für Treiber für Geräte.
Von OS X unterstützt werden folgende Dateisysteme:
UFS (Unix), UDF (z.B. DVD), ISO 9660 (CD), HFS und HFS Plus (MacOS). Als Command Line Tool gibt es eine Samba Implementierung, so daß man im Netzwerk auf Windows-Rechner zugreifen kann. Desweiteren werden folgende Protokolle unterstützt:
TCP/IP, PPP, PAP, HTTP, FTP, DNS, SLP, DHCP, LDAP, NTP.
Anschluß an die Außenwelt erfolgt über Ethernet, USB, Firewire und AirPort.

Darwin ist ein OpenSource Projekt. Jeder Entwickler kann den Code einsehen, Verbesserungsvorschläge und Modifizierungen einreichen.

Quartz:

NeXTStep benutzte eine Technologie namens DisplayPostScript, die es vermochte, direkt PostScript auf dem Monitor anzuzeigen. Für den OS X 2D Grafik Unterbau benutzt Apple das freie PDF, welches ebenfalls auf PostScript basiert. Quartz leistet einen entscheidenden Anteil zum GUI von OS X, Aqua. Da PDF Transparenzen unterstützt, sind Schatten von Fenstern und semitansluzente Menüs kein Problem.
Quartz bietet AntiAliasing für Text und Grafiken und unterstützt die AltiVec-Einheit des G4-Prozessors.
Aber Quartz bietet noch mehr. Jeder Entwickler kann nun sehr einfach Dokumente im plattform-übergreifenden Format PDF sichern. Genaugenommen laufen alle Druck-Jobs über eine PDF-Zwischenstufe. Man druckt in eine PDF-Datei, die dann vom Drucktreiber für den Drucker übesetzt wird. Die ganze Druckerarchitektur ist weitestgehend vorprogrammiert, so daß viele Features wie mehrere Seiten auf ein Blatt oder Druckerauswahl im Druckdialog vorgegeben sind. Dadurch wird der Druckvorgang vereinheitlicht und die Entwicklung von Treibern vereinfacht.

OpenGL:

OpenGL ist ein offener und weit genutzter Industrie-Standard für 3D. Und es ist die 3D-Umgebung von MacOS X. Man wird viele CAD/CAM Programme, Spiele und Animationstools für OS X finden, die auf diesem Ansatz aufbauen. Allen voran Alias Wavefronts Maya.

QuickTime

ist Apples Multimedia Standard. QuickTime versorgt den Mac seit Jahren mit Video. Es wuchs immer weiter und unterstützt nun neben Video-Formaten (u.a. Sorenson, AVI, MPEG 1, DV, Flash) auch Bildformate (u.a. BMP, GIF, JPEG, Photoshop, PNG, TIFF) und Sound, sowie VR-Bilder. Dank dieser Technologie lassen sich z.B. in VR-Szenen auch Videos abspielen, sehr schön in Myst III Exile zu sehen!

Programmumgebungen

Classic:

Um alte für MacOS 9 und früher geschriebene Programme weiterhin benutzen zu können, kann MacOS X eine eigene Umgebung dafür starten. Sprich, es wird MacOS 9.2 innerhalb von MacOS X gestartet. Dabei gilt die OS 9 Umgebung als eigener Prozess mit Speicherschutz. Sollte es zu einem Absturz innerhalb von OS 9 kommen, der das System in Mitleidenschaft zieht, dann stürzt nur diese Umgebung ab, OS X und alle anderen Programme sind davon nicht betroffen.
Programme in Classic laufen gleich schnell oder nur marginal langsamer als unter MacOS 9. Einzige Einschränkung ist, daß es Progammen nicht erlaubt ist, direkt auf die Hardware zuzugreifen. Solche Programme werden nicht in Classic laufen, da der Kernel dies verbietet.

Carbon:

Mit einem verhältnismäßig geringen Aufwand lassen sich Programme so ändern, daß sie vollen Nutzen von den Features von MacOS X ziehen. Dieser Vorgang nennt Apple Karbonisieren. Karbonisierte Programme laufen native in OS X und mit Hilfe der CarbonLib auch unter MacOS 8.6 bis 9.2. Damit können Entwickler eine breite Gemeinde an Nutzern erreichen, ohne daß sie ihr Programm splitten müssen. Für den sanften Übergang ist die Carbon-Umgebung ideal.

Cocoa:

Die Umgebung stammt von NeXTs OpenStep und ist die empfohlene Plattform für Programmierer, die neue Applikationen für MacOS X entwicklen wollen. Cocoa bietet eine intelligente Programmierumgebung, die als Sprache Object-C und Java nutzt. Mit etlichen vordefinierten Objekten wird die Entwicklung beschleunigt und garantiert, daß alle Cocoa-Apps das gleiche Look-and-Feel haben.
Cocoa Programme profitieren von Services, kleine Tools, die sich in die Programme intergrieren. So z.B. auch ein systemweiter Spell-Checker, Zahlen- und Wörter-Service etc. Cocoa nutzt die Fähigkeiten von MacOS X voll aus, da es die ursprüngliche Sprache von NeXTStep und damit des zu Grunde liegenden Systemes ist.

Java:

Neben der Mögllichkeit, Java als Programmiersprache für Cocoa zu benuten, bietet OS X auch eine Umgebung für Java-Applets an. Sie fundiert auf der Java 2 Standard Edition Version 1.3. Java Programme nutzen das Aqua-Interface und die Kern-Technologien von OS X ohne Mehrprogrammierung. Damit dürfte OS X zu einen der besten Java-Umgebungen gehören.

BSD Unix:

Etliche Unix-Tools, vornehmlich CLI (Command Line Interface) basiert oder für den X-Window-Server, wurden portiert. Dank dem offenen Darwin gibt es etliche Projekte, Unix Programme auf den Mac zu bringen.

Aqua:

Kein Betriebssystem sieht heute noch das Licht der Welt ohne GUI.
MacOS X wird Apples Vorreiterrolle hier mehr als gerecht. Kaum wurde Aqua vorgestellt, fand man die ersten Kopierversuche. Vordergründig sieht man bei Aqua ein aufgeräumtes, weißes Interface mit blauen, abgerundeten Elementen. Als bunt verschrien gibt es noch eine neutrale Alternative.

Aber Aqua ist mehr als Farbe. Das GUI wurde mit Apples Erfahrung weiterentwickelt mit dem Ziel, dem Nutzer die Bedienung des Computers stärker zu erleichtern. So wurden die Elemente zu Fensterbedienung oben links angeordnet und farbig gestaltet. Befindet sich ein Fenster im Hintergrund und seine Bedienbuttons sind sichtbar, so kann man mit der Maus über die Buttons fahren, sie leuchten auf, geben ihre Funktion Preis und man kann so ein Fenster im Hintergrund schließen.

Alle modalen Dialoge wurden abgeschafft. Ein Programm kann also mit einem Eingabefenster nicht mehr den Rechner blockieren. Apple favorisiert die Benutzung von Sheets. Ein solcher Dialog rollt sich aus der Titelleiste des betreffenden Fensters und haftet daran. Damit wird klar, daß das Sheet mit dem Fenster zusammenhängt. Man kann es gleich bearbeiten oder erst in einer Stunde. Durch eine leichte Transparenz dieser Dialoge und der Menüs hat man immer einen Blick auf das Dokument. Man verliert seine Arbeit so nie aus den Augen.

Schattierungen runden das Bild ab und heben die Grenzen der Fenster vor.
Stacks Image 22483
Mit dem Dock erhielt ein viel diskutiertes Element Einzug, das recht viele Aufgaben übernimmt und man darf es zu Recht als zentrale Anlaufstelle bezeichnen. Zum einen lassen sich Programme und Dokumente zum schnellen Start darin sammeln, auch in Unterordnern, alle laufenden Programme werden im Dock angezeigt, offene Dokumente lassen sich darin ablegen und der Papierkorb befindet sich ausschlließlich dort.
Das Dock läßt sich automatisch einblenden oder ist dauerhaft vorhanden, die Größe läßt sich einstellen und es gibt eine Vergrößerungsfunktion. Eine Anordnung am linken, rechten oder unteren Rand läßt keine Wünsche offen.
Stacks Image 22485
Neu ist auch eine Spaltendarstellung von Finder-Fenstern. D.h. neben der Icon- und Listenansicht erhält man ein praktisches NeXTStep-Feature, das Unterordner in einer eigenen Spalte rechts anzeigt. So hangelt man sich leicht durch Dateipfade, ohne den Überblick zu verlieren. Erreicht man sein Ziel, dann wird eine Voransicht angezeigt oder das Icon in der maximalen Größe, die bei OS X 128x128 Pixel beträgt.

Meine Erfahrungen:

Ich stieg mit OS X 10.1 ein. Mir war klar, daß es eine Weile dauern würde, bis alle die von mir genutzten Programme nativ unter OS X laufen würden, resp. ich plante ein, mir neue Applikationen anzueignen. Mit Deneba Canvas 8 kam das wichtigsten Programm für mich als Carbon-Version heraus, mein neuer eMailer wurde PowerMail, iCab war schon karbonisiert. Druckertreiber für meine Drucker (Epson Stylus Color 740 und HP LaserWriter 5 MP via Asanté EtherTalk) waren schon im System enthalten, mein betagter SCSI-Scanner wich einem neuen Agfa USB-Scanner und damit lief ein Großteil der Peripherie. Einzig CDs brennen heißt für mich noch Booten in MacOS 9.2, da der Brenner an einer SCSI-Karte hängt und diese Konfiguration bislang von Toast noch nicht unterstützt wird.

Es muß jedem Umsteiger klar sein, daß er sich auf eine neue Reise begibt. Ein so großes System wie OS X entwickelt man nicht über Nacht. Es wird sicherlich noch eine Weile dauern, bis alle kleine Unannehmlichkeiten beseitigt sind. Doch, so meine Meinung, ist OS X ab Version 10.1 sehr gut nutzbar. Die Zahl der angepaßten Software steigt stetig und die Zukunft geht zweifelsfrei in diese Richtung.
Wer einen entsprechenden Mac besitzt (also alle ursprünglichen G3 Rechner bis auf erstes Powerbook G3), sollte sich mit dem Gedanken anfreunden, demnächst auf OS X umzusteigen.

Da RAM zur Zeit relativ günstig ist, sollte man damit nicht geizen. In meinem G3 verrichten 640MB viel Speicherarbeit und damit wird sehr selten auf die Festplatte ausgelagert. Empfehlenswert ist auch eine Festplatte oder Partition von mind. 10GB für OS X incl. Classic (also MacOS 9), je mehr, desto besser.

Als echtes Unix Betriebssystem sollte man die Sicherheitsfeatures von OS X nutzen. Bei der Installation wird zunächst ein Lokaler Nutzer angelegt. Diesen nennt man für gewöhnlich Administrator und dessen Passwort sollte man sich samt Namen tunlichst merken, besser aufschreiben. Für die tägliche Arbeit empfiehlt sich jedoch einen Benutzer anzulegen ohne administrative Rechte (Systemeinstellungen>Benutzer).
Ein solcher User kann dem System aufgrund mangelnder Rechte wenig anhaben. Dadurch ebenfalls vorbeischleichende Kollegen, Hacker oder Viren.
Der Administrator darf schon mehr, so z.B. Programme in Verzeichnissen installieren, die alle benutzen können, er darf die Netzwerkeinstellungen und Zeit ändern etc. Aber auch er ist nur ein Untertan, ein Knecht des großen Guru, des root. root ist Gott des Systemes, mehr noch, er ist das System selbst und darf alles. Glücklicherweise ist standardmäßig der root deaktiviert, so daß er quasi nicht existiert und somit ist das System recht gut geschützt.

Zunächst ist das alles für den altgedienten MacUser nicht nur ungewohnt, sondern wird eher als Bürde empfunden. Nichts desto trotz sollte man nicht versuchen, alles wieder wie gehabt zu erzwingen, Leute, nutzt die neuen Möglichkeiten! Nur dadurch wird das System sicher. Wer sich standardmäßig als Admin - oder schlimmer root - einloggt, nur damit er im Notfall alles kann, der kann genausogut seine EC-Karten PIN in roten Zahlen auf die Karte schreiben und diese dann auf eine Parkbank deponieren.

Eine der weiteren Annehmlichkeiten ist die Möglichkeit, das jeder User seine eigene, für ihn speziell eingerichtete Umgebung hat. Diese ist sauber getrennt von den anderen Usern, sprich einerseits kann er nicht ohne weiteres deren Ordner und Dokumente ansehen, andererseits kann er seinen Schreibtisch so einrichten, wie es ihm paßt. Damit können Kinder nicht mehr die Geschäftdokumente der Eltern löschen und dürfen ihren Lollipop-Hintergrund mit Technoschrift wählen.

Grundzüge der Organisation des Systemes:

MacOS X kennt auf oberster Ebene zunächst vier wichtige Verzeichnisse: Das System, welches nur root einsehen und ändern kann, die Library, Applications und die Users. Letzteres ist der Ordner mit den Unterverzeichnissen der einzelnen User, sprich deren Umgebungen. In der Library befinden sich Erweiterungen, welche allen Usern zur Verfügung stehen. Darin abgelegt werden z.B. Schriften, Internet-PlugIns, Sounds etc.

Jeder User hat selbst in seinem Verzeichnis seine eigene Library mit Erweiterung, die nur für existieren. So ist es z.B. möglich, eine Schrift zu installieren, die nur für User B zur Verfügung steht.
Auf gleiche Art verhält sich der Ordner Applications. Hier installierte Programme stehen allen Usern zur Verfügung. Sinnvoll ist dies z.B. für Mail-Programme oder Browser, die alle benutzen. Da die Voreinstellungen (und Mailboxen) in der Library der User gesichert werden, kann jeder User die Programme nach seiner Vorliebe konfigurieren. Damit bleibt das Konzept der Abschottung der Umgebung der User erhalten.
Der Administrator hat die Aufgabe, die Ordner Library, Applications und User zu verwalten. Oder anders gesagt, ein User kann zwar Programme in seiner Umgebung beliebig installieren, jedoch nicht auf höchster Ebene für alle.

Annehmlichkeiten von OS X:

- OS X unterstützt Zwei-Button-Mäuse mit Scroll-Rad, von Haus aus trifft das auf alle Cocoa-Applikationen zu, Carbon-Programme können diesen Support einfach integrieren.
- Wer eine digitale Kamera anschließt, wird sich freuen, daß OS X ihm sofort anbietet, die Bilder auf die Festplatte zu laden (alle oder einzelne).
- OS X ist sehr robust. Systemhänger sind sehr, sehr selten (ich hatte noch nie eine sogenannte Kernel-Panik und habe sie auch noch nicht bei Freunden beobachtet). Das System läuft und läuft und läuft.
- Im Lieferumfang enthält OS X einen FTP- und Webserver (letzter ist das weit verbreitete Apache) und weitere Dämonen, in der Server-Version von OS X mit grafischen Tools zum Konfigurieren. OS X ist insgesamt netzwerkfreudiger als das alte MacOS, was es mitunter seinem Unix-Unterbau zu verdanken hat.
- Man kann sich verschieden Netzwerkumgebugen anlegen und per Menü-Befehl darin wechseln, was super schnell und einfach geht. Wer also bei seinem Internetprovider mal wieder nicht durchkommt, der wechselt in Sekunden zum nächsten.
- Apple liefert eine Menge an Developer Tools mit, so daß man ohne Probleme Programme für OS X schreiben kann.

Zusammenfassend:

Es ist nicht so sehr die Frage, ob man umsteigt, sondern wann. Die Zukunft gehört ganz klar MacOS X, das betont auch Apple, die zwar weiterhin MacOS 9 pflegen, aber Großartiges darf man dort nicht mehr erwarten. Innovationen finden nun mehr im neuen System statt.
Mit der Version 10.1 ist auch der Zeitpunkt gekommen, wo das System eine Reife und Kompatibilität erreicht hat, die einen Wechsel rechtfertigen. Hinzu kommt die Tatsache, daß nun (Ende 2001) ein ganze Schaar an nativen OS X Applikationen zur Verfügung stehen, einige große Mac Programme folgen 2002, darunter Photoshop und Quark. So wird auch der DTP- und EBV-Profi bald in die Vorzüge von MacOS X kommen.

Schauen wir uns einmal die aktuellen Betriebssysteme an: Fast alle basieren nun irgendwie auf Unix, bis auf eines, ein ganz großes, aber dieses hat nun auch schon ein "X" im Namen, angehängt ein "P" um klar zu machen, daß dies alles eher als Experiment zu betrachten ist.
Die Idee hinter Unix ist alt, aber genial.
(Einige der hier verwendeten Namen und Produktbezeichnungen sind Warenzeichen. Sie sind Eigentum der jeweiligen Hersteller.)