Die Frage, warum einige Mac-Anwendungen langsam starten, beschäftigt seit Jahren viele Nutzer und Entwickler gleichermaßen. Trotz zahlreicher Optimierungsbemühungen scheinen Startzeiten weiterhin oft länger zu sein als erwartet. Ein genauer Blick auf die Hintergründe und Systemprozesse zeigt, dass das Problem komplexer ist als eine einfache Performance-Verzögerung. Die jüngsten Erkenntnisse liefern neue Anhaltspunkte, die zum Verständnis der Ursachen beitragen. Ein wesentlicher Faktor für verzögerte Starts von Mac-Anwendungen ist der Syspolicyd-Prozess, insbesondere eine Funktion, die im Zusammenhang mit dem sogenannten Yara-Malware-Scan steht.
Der Syspolicyd-Dienst überwacht und prüft die Integrität von Anwendungen und Bibliotheken beim Start, um die Sicherheit des Systems zu gewährleisten. Dabei kommt die DispatchQueue namens "com.apple.security.syspolicy.
yara" zum Einsatz, die in den Analysen durch Backtraces identifiziert wurde. Diese Backtraces stammen aus dem Spindump-Tool, das regelmäßig Systemzustände erfasst. Die Aufzeichnungen belegen, dass der Syspolicyd-Prozess die Funktion yr_rules_scan_file aufruft, um verdächtige Muster in Dateien zu erkennen. Diese Untersuchung ist ein Teil der Malware-Scans, die beim Laden von dynamischen Bibliotheken (Frameworks) durchgeführt werden. Dabei überprüft das System jede potenziell kritische Datei, um Manipulationen und Schadsoftware frühzeitig zu erkennen.
Trotz dieser klaren Hinweise gibt es teilweise widersprüchliche Meinungen. Einige Experten, darunter auch bekannte Blogger wie Howard Oakley, vertreten die Ansicht, dass die Yara-Regeln in diesen Fällen keinen nennenswerten Einfluss auf die Startzeit haben. Sie argumentieren unter anderem, dass Yara-Regeln oft Dateien nach Größe begrenzen und detaillierte Scans eher bei kleineren Dateien stattfinden, was eine schnellere Ausführung zur Folge habe. Zudem seien die bekannten Malware-Prüfungen in den Systemprotokollen gut dokumentiert und würden eindeutige Resultate liefern, was bei den beobachteten Verzögerungen aber nicht immer der Fall sei. Diese skeptische Haltung führt dazu, dass manche Experten die Bedeutung der Malware-Scans für Startverzögerungen herunterspielen und stattdessen andere Erklärungen favorisieren.
Ein populärer Ansatz ist die Annahme, dass die Vertrauensevaluierung von Anwendungen, speziell das Berechnen von SHA-256-Hashes für dynamische Bibliotheken innerhalb der App-Bündel, die Hauptursache sei. Diese Hash-Berechnungen dienen dem Schutz vor Manipulationen, indem jede Datei eindeutig identifiziert und bei Veränderungen erkannt wird. Allerdings gibt es für die Existenz eines umfassenden Hash-Caches, wie von einigen vertreten, wenig bis keine klare Evidenz. Auch ist unklar, wo ein solcher Cache lokalisiert wäre und wie dieser mit den regelmäßigen Malware-Definition-Updates kompatibel sein sollte. Denn während Malware-Scans durch neue Definitionen immer wieder angepasst werden müssen, bleiben Hash-Werte für unveränderte Dateien normalerweise konstant.
Dies wirft Fragen hinsichtlich des tatsächlichen Nutzens eines periodisch neu berechneten Hash-Caches auf. Die Systemprozesse zeigen weiterhin, dass oft eine Wartezeit auf die Evaluation des Syspolicyd-Dienstes besteht. Der betreffende Code steht im direkten Zusammenhang mit der Funktion perform_malware_scan_if_necessary, einem eindeutigen Hinweis darauf, dass auch viele Zeitverzögerungen auf Malware-Checks zurückzuführen sind. Die Syspolicyd-Kontrolle wird vor allem dann aktiviert, wenn dynamische Bibliotheken zum ersten Mal geladen oder wiederholt überprüft werden müssen. Die Verzögerung entsteht also durch die Sicherheitsprüfung, die zweifelsfrei notwendig ist, um die Integrität des Systems zu gewährleisten.
Der Umstand, dass Universal-Apps für Macs mit beiden Architekturtypen, Intel und ARM, ausgeliefert werden, spielt hierbei ebenfalls eine Rolle. Solche Universal-Binaries enthalten doppelte Versionen der Bibliotheken, was die Datei- und Prüfsummenlatenz erheblich erhöht. Zwar wird normalerweise nur die für das jeweilige System relevante Architektur geprüft, doch die größere Dateigröße wirkt sich dennoch auf die Dauer der Scans aus. Zudem ist auch die Tatsache zu berücksichtigen, dass Mac-Apps, die aus dem App Store stammen, besonderen Schutzmechanismen unterliegen. Sie sind meist nur mit entsprechenden Signaturen und Rechten ausgestattet und werden von Systemfunktionen besonders überwacht.
Root-Besitzrechte und das App-Management des macOS sichern zudem, dass diese Apps bei unautorisierten Veränderungen im Regelfall blockiert oder zumindest erkannt werden. Ein wichtiger Aspekt, der häufig unterschätzt wird, ist die Rolle der Protokollierung innerhalb von macOS. Nicht alle wichtigen Prozesse und Systemereignisse werden automatisch in Log-Dateien erfasst. Ein fehlender Log-Eintrag bedeutet daher nicht zwangsläufig das Ausbleiben eines Vorgangs. Vielmehr kommt es darauf an, ob entsprechende Logging-Anweisungen seitens der Entwickler implementiert wurden.
Aus der Praxis wissen wir, dass Spindump-Analysen, welche den tatsächlichen Systemstatus abbilden, wertvolle Einblicke liefern. Sie lassen Rückschlüsse auf Blockaden und Verzögerungen zu, wie sie etwa durch die Syspolicyd-Prüfungen verursacht werden. Die Aussage, dass solche Informationen nur in Log-Dateien verlässlich seien, greift somit zu kurz. Zusammenfassend lässt sich sagen, dass die Sicherheitsüberprüfungen durch den Syspolicyd-Prozess maßgeblich für langsamere Starts einiger Mac-Apps verantwortlich sind. Die Prüfung auf Malware und die Validierung von Frameworks sind technisch notwendig, um die Sicherheit und Integrität des Systems zu gewährleisten.
Andere Theorien, wie die ausschließliche Verursachung durch Hash-Berechnungen, sind zwar nicht gänzlich auszuschließen, jedoch bisher noch nicht überzeugend belegt. Entwickler und Nutzer sollten daher die Bedeutung von Sicherheitsprozessen verstehen und bei Optimierungen berücksichtigen. Auch sollte man realistisch bleiben: Ein absolut schneller Start kann nie auf Kosten der Systemsicherheit gehen. Apple steuert hier mit verschiedenen Mechanismen bereits gegen, etwa durch den Einsatz von Caches, die Ergebnisse speichern und so den Aufwand reduzieren. Zukünftige macOS-Versionen könnten diese Sicherheitsprüfungen weiter optimieren, möglicherweise indem sie intelligenter mit Caches und Aktualisierungen umgehen oder durch bessere Kommunikation der Prozesse an den Nutzer.
Bis dahin bleibt die Geduld bei gelegentlich verzögerten App-Starts ein nötiges Übel im Interesse der Systemsicherheit. Für Entwickler ist es sinnvoll, Anwendungspakete so schlank wie möglich zu gestalten und auf unnötige Frameworks zu verzichten. Ebenso kann die Reduktion von Universal-Binaries auf die jeweils benötigte Architektur die Startzeiten verbessern. Eine enge Beobachtung durch Tools wie Spindump unterstützt dabei, versteckte Engpässe besser zu erkennen und entsprechende Maßnahmen abzuleiten. Die Debatte rund um die genaue Ursache verzögerter Mac-App-Starts verdeutlicht, wie komplex Systembetrieb und Sicherheit heute sind.
Ein ganzheitliches Verständnis hilft dabei, sinnvolle Schlüsse zu ziehen und die Balance zwischen Performance und Schutz zu wahren. Langsame Starts sind also kein Fehler oder Versagen, sondern ein Ergebnis bewusst gesetzter Sicherheitsmaßnahmen, die ein modernes Betriebssystem unverzichtbar machen.