
Code-Betrachtung: macOS wächst im Verborgenen immer weiter


Für Mac-Anwender hat sich in den vergangenen sechs Jahren nicht maßgeblich viel am System geändert. Zwar veränderten sich zentrale Apps wie die Systemeinstellungen und mit macOS Tahoe auch das gesamte Erscheinungsbild, doch dass es maßgeblich an Funktionen gewonnen hat, wird kaum jemand behaupten. Intern jedoch wuchs macOS in diesen Jahren gewaltig. Howard Oakley beobachtet seit vielen Jahren, was sich hinter den Kulissen verändert. Seine aktuelle
Auswertung offenbart ein stetes, kräftiges Wachstum, welches einige Muster erkennen lässt.
Für diesen Zweck führte Oakley eine automatisierte Zählung sämtlicher Bundles durch, welche sich im Ordner „/System/Library“ befinden. Als Startpunkt für seinen Vergleich wählte er macOS 10.14 (Mojave), welches im September 2018 erschien. Die Anzahl der Bundles der System-Library hat sich mittlerweile verdoppelt – von 4.800 auf gut 9.800. Auch die Kernel-Erweiterungen nahmen an Umfang zu: Tahoe umfasst knapp 950; in macOS 10.15 waren es 515.
Die Zahl der in macOS integrierten Bundles stieg über die letzten Jahre beträchtlich. (Quelle:
The Eclectic Light Company)
Viele Veränderungen unter der HaubeOakley zeichnet nach, dass in diesem Zeitraum viele Veränderungen anstanden: Mojave war das letzte macOS, welches 32-Bit-Apps nativ ausführte, und bei dem Anwender- und Nutzerdaten auf demselben Volume residierten. Inzwischen sind beide Datenteile streng voneinander getrennt, und macOS startet von einem kryptografisch gesicherten Schnappschuss. Kernel-Erweiterungen von Drittanbietern sind nur noch durch aktives
Abschalten der System Integrity Protection (SIP) nutzbar. Die größten zahlenmäßigen Steigerungen an Systembundles sieht Oakley im Kontext der Einführung einer neuen Apple-Silicon-Generation. So wuchs die Bundle-Zahl zur Einführung des M3 um ganze 900 Einträge an; beim M4 waren es noch einmal 600.
Frameworks zunehmend privatDie im Library-Order versammelten Bundles sind größtenteils Frameworks, welche von mehreren Programmen genutzt werden können. Öffentliche Frameworks sind dokumentierte Schnittstellen, welche auch Drittentwicklern zur Verfügung stehen. Private Frameworks sind hingegen Apple vorbehalten. Hierbei zeigt sich eine eindeutige Tendenz: Der Anteil der öffentlichen Frameworks sank seit 2019 von knapp 24 auf unter 15 Prozent. Obendrein verwendet Apple zunehmend das Format der Dynamic Shared Library (dyld). Deren Inhalte lassen sich für interessierte Entwickler nur über
Reverse Engineering entziffern.