Macintosh-Baukasten

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Der Macintosh-Baukasten (englisch Macintosh Toolbox) ist eine Sammlung von Ressourcen, Treibern, Routinen und Programmierschnittstellen, die sich im ROM früher Modelle von Macintosh-Computern befindet. Diese wurden später als „Old-World-ROM“-Modelle bezeichnet. Der Macintosh-Baukasten wird vom Betriebssystem für Macintosh-Computer, der Macintosh System Software, die später als klassisches Mac OS bezeichnet wurde, genutzt – umgekehrt ist Mac OS ohne den Macintosh-Baukasten nicht ausführbar.

Geschichte[Bearbeiten | Quelltext bearbeiten]

Um Arbeits- und Diskettenspeicherplatz zu sparen, waren seit dem ersten Macintosh mit 128 KB RAM zahlreiche Komponenten des Betriebssystems in einem ROM bereitgestellt worden. Arbeitsspeicher (RAM) war zu dieser Zeit doppelt so teuer wie die gleiche Speichermenge ROM, und 128 KB Arbeitsspeicher stellten bei der Produktion bereits einen wesentlichen Kostenfaktor dar. Außerdem bot diese Maßnahme einen gewissen Geschwindigkeitsvorteil, da ROM seinerzeit schneller auszulesen war als die Kombination aus RAM und Daten von Disketten, denn die Daten hätten jeweils von einer Diskette in den RAM geladen werden müssen. Diskettenlaufwerke waren aber weitaus langsamer als der ROM. Zusätzlich waren die Routinen im ROM ohnehin jederzeit verfügbar – ohne wertvollen Speicherplatz auf Disketten zu belegen, der für die Programme und deren Daten wichtig war.[1] Beim originalen Macintosh von 1984, retronym als „Macintosh 128k“ bezeichnet, war der spärliche Arbeitsspeicher für die Programme sehr wertvoll.[2]

Da der Inhalt des ROMs mit der Auslieferung des Rechners festgelegt war, wurden alle Inhalte des Baukastens über eine Tabelle angesprungen. Neuere Baukastenkomponenten in der Betriebssystemdatei wurden so statt der jeweils veralteten Inhalte des ROMs verwendet.

Ende der 1980er Jahre kehrte sich das Preisverhältnis von ROM und RAM um, ROM war nun deutlich teurer als die gleiche Menge RAM und zudem deutlich langsamer. Mit dem iMac, dem PowerBook G3 „Lombard“ und dem Blau-Weißen Power Mac G3 verschwanden daher die Baukasten-ROMs aus den Macintosh-Rechnern und wurden vielmehr als ROM-Datei auf der Festplatte bereitgestellt. Das Open-Firmware-Start-ROM dieser mit „New World ROM“ bezeichneten Mac-Modelle laden den Macintosh-Baukasten nicht aus dem verbauten ROM, sondern aus dieser mit Mac OS bereitgestellten ROM-Datei in den Arbeitsspeicher – das klassische Mac OS kann die Funktionen der Macintosh Toolbox anschließend wie gehabt nutzen.

Der Macintosh-Baukasten wurde ursprünglich in Pascal entwickelt und dann aus Geschwindigkeits- und Platzgründen in Motorola-68000-Assembler umgesetzt. Im Laufe der Jahre wurden Teile in die Programmiersprache C und C++ übersetzt, um nativ auf dem Power Macintosh laufen zu können.

Bestandteile[Bearbeiten | Quelltext bearbeiten]

Wichtige Bestandteile des Macintosh-Baukastens umfassen:

  • QuickDraw
  • Window Manager
  • Dialog Manager
  • Control Manager
  • Menu Manager
  • Event Manager
  • TextEdit
  • Resource Manager
  • Finder-Schnittstelle
  • Scrap-Manager
  • Standard file package
  • Sound Manager

Nachfolge[Bearbeiten | Quelltext bearbeiten]

Anfang der 1990er-Jahre war Apple mit dem als veraltet geltenden Betriebssystem „Macintosh System Software“ (ab 1996 in Mac OS umbenannt) nicht mehr konkurrenzfähig. Microsoft und IBM arbeiteten an einem grafischen Betriebssystem, das so einfach zu bedienen sein sollte wie das Apple-Betriebssystem, zusätzlich jedoch moderne Funktionen wie kooperatives Multitasking und Speicherschutz bot. Während der Entwicklung von System 7 wurde der Macintosh-Baukasten von 68k-Assembler auf C neu implementiert und mit dem Projekt „Star Trek“ (System 7 auf einem x86-PC) sogar auf die x86-Architektur portiert.

Am Ende scheiterte Apple jedoch bei dem Versuch, sein Betriebssystem entweder zu erweitern oder durch eine moderne Neuentwicklung zu ersetzen. Projekte wie Pink (Taligent) und Copland wurden nie fertiggestellt während Microsoft mit Windows 95 große Erfolge feierte und IBM mit OS/2 und Microsoft mit Windows NT stabile und moderne Betriebssysteme entwickelt hatten.

Ende 1996 erhielt Apple durch die Übernahme von NeXT ein modernes Unix-basiertes Betriebssystem, das eine nicht-kompatible objektorientierte Programmierschnittstelle (API) namen OpenStep enthielt. Diese neue API wurde von Apple im Betriebssystemprojekt Rhapsody als Yellow Box und mit Mac OS X schließlich als Cocoa weiterentwickelt.

Da jedoch viele Anbieter von für Apple unverzichtbarer Anwendersoftware ein mit dem ursprünglichen Macintosh-API kompatibles System forderten, wurde sowohl unter Mac OS ab Version 8.1 als auch unter Mac OS X eine neue Programmierschnittstelle implementiert, die größtmögliche Source-Code-Kompatibilität mit dem Macintosh-Baukasten bieten sollte. Damit wurde der Portierungsaufwand für bestehende Anwendungen gering gehalten und Softwarehersteller konnten ihre Programme relativ schnell auf das neue Betriebssystem Mac OS X portieren, das ab 2002 das ältere klassische Mac OS vollständig ersetzte. Diese kompatible Programmierschnittstelle erhielt von Apple den Namen Carbon und ist in jeder Version von Mac OS X (ab 2012 in OS X und ab 2016 in macOS umbenannt) enthalten, wird jedoch seit 2007 nicht mehr weiterentwickelt und wurde auch nicht mehr auf 64-Bit portiert, sodass nur 32-Bit-Anwendungen unter Mac OS X die Funktionen der Carbon-Programmierschnittstelle nutzen können.

Versionsgeschichte[Bearbeiten | Quelltext bearbeiten]

Bei „Old-World“-Macintosh-Computern war der Macintosh-Baukasten noch im ROM gespeichert. Die Speicherkapazität des verbauten ROM wurde seit 1984 von 64 kB auf 4 MiB von 1994 bis 1998 erhöht.

Bei „New-World“-Macs sind die folgenden Versionen des Mac OS ROM bekannt:

Version Datum Mac-Modelle, Anmerkungen
Ältere Version; nicht mehr unterstützt: 1.1 21. Juli 1998
Ältere Version; nicht mehr unterstützt: 1.1.2 27. Aug. 1998
Ältere Version; nicht mehr unterstützt: 1.2 3. Dez. 1998
Ältere Version; nicht mehr unterstützt: 1.2.1 22. Jan. 1999
Ältere Version; nicht mehr unterstützt: 1.4 5. Apr. 1999
Ältere Version; nicht mehr unterstützt: 1.6 14. Mai 1999
Ältere Version; nicht mehr unterstützt: 2.5.1 17. Sep. 1999
Ältere Version; nicht mehr unterstützt: 3.0 27. Sep. 1999
Ältere Version; nicht mehr unterstützt: 1.8.1 28. Sep. 1999
Ältere Version; nicht mehr unterstützt: 3.7 15. März 2000
Ältere Version; nicht mehr unterstützt: 3.8 22. Mai 2000
Ältere Version; nicht mehr unterstützt: 6.1 3. Nov. 2000
Ältere Version; nicht mehr unterstützt: 7.5.1 7. Feb. 2001
Ältere Version; nicht mehr unterstützt: 8.4 30. Juli 2001
Ältere Version; nicht mehr unterstützt: 9.0.1 19. Dez. 2001
Ältere Version; nicht mehr unterstützt: 9.1.1 8. Apr. 2002
Ältere Version; nicht mehr unterstützt: 9.6.1 3. Sep. 2002
Ältere Version; nicht mehr unterstützt: 9.8.1 10. Jan. 2003
Ältere Version; noch unterstützt: 10.2.1 3. Apr. 2003
Legende:
Ältere Version; nicht mehr unterstützt
Ältere Version; noch unterstützt
Aktuelle Version
Aktuelle Vorabversion
Zukünftige Version

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Andy Hertzfeld: We're Not Hackers! We were always dealing with memory limitations. In: The Original Macintosh – Anecdotes about the development of Apple's original Macintosh, and the people who made it. Folklore.org, September 1983, abgerufen am 9. November 2016 (englisch): „…as we started to get some software going on the prototype, it became increasingly clear that we didn't have enough RAM for the kind of graphic intensive applications that we wanted to build; … Burrell added another row of 8 memory chips, doubling the RAM size to 128K … ROM is half the price per bit of RAM, so it makes sense to use as much as we can. … Fortunately, we had started to use the resource manager to load objects like fonts and drivers, so we had some flexibility about keeping stuff on disk instead of the ROM. … But code on floppy disk is much slower to load, and it also would reduce the effective size of each disk.“
  2. David Craig: 3rd Party Developers and Macintosh Development. Some Comments about Developing Applications for the Apple Macintosh 128 Computer from a 20 Year Perspective. In: The Original Macintosh – Anecdotes about the development of Apple's original Macintosh, and the people who made it. Folklore.org, Januar 1984, abgerufen am 9. November 2016 (englisch): „…Sophisticated Macintosh applications required more resources than the Macintosh 128 provided. The original Macintosh's 128K bytes of memory and 400K byte disk drive were on the small size when it came to sophisticated applications (I recall reading that even in Apple there was lots of discussion about this). The original Macintosh was really around a 90K byte memory machine since the screen took 22K bytes of memory and a bit of memory was devoted to system code such a ROM patches and file system buffers. I recall my Investor application was around 200K bytes in size and though it ran on the original Macintosh it was slow due to constant application code segment swapping. …“

Literatur[Bearbeiten | Quelltext bearbeiten]

Weblinks[Bearbeiten | Quelltext bearbeiten]