Alle Programme, die Sie starten, sind von Diensten des Betriebssystems abhängig: Die Programme nutzen Funktionen des Systems, zum Beispiel um Klicks von der Maus zu empfangen oder Fenster auf dem Bildschirm zu öffnen. Technisch gesehen bedeutet das, dass jedes Programm seinen eigenen Programmcode an die Codebibliotheken des Betriebssystems anbinden muss. Programme benötigen üblicherweise mehrere Tausend Funktionen, die im System vorhanden sind, und diese müssen „lokalisiert“ werden, während das Programm startet. Deren Ablageorte, genauer gesagt die Dateipfade, an denen die Codebibliotheken gespeichert sind und die exakten Bytepositionen innerhalb der Bibliotheken sind nicht notwendigerweise fest: Sie können sich von Systemversion zu Systemversion ändern, so dass die Programme eine Menge Arbeit zu erledigen haben, beim Starten diese ganzen Systemfunktionen zu prüfen und zu finden.
Programme versuchen, diesen Bindungsprozess während des Starts zu beschleunigen, indem sie annehmen, dass sich die Codepositionen nicht geändert haben, falls seit dem letzten Start keine neuen Betriebssystemaktualisierungen installiert wurden. Sie speichern dazu die benötigten Code-Orte der Betriebssystemfunktionen in eine Zwischenspeicherzone in ihrem eigenen Programmcode. Wird ein Programm das nächste Mal wieder gestartet, kann es diese gespeicherten Informationen einfach wiederverwenden und muss den ganzen Suchprozess zum Lokalisieren von Systemfunktionen nicht wiederholen. Dieser Zwischenspeicher muss nur dann neu aufgebaut werden, wenn das Programm erkennt, dass neue Systembibliotheken installiert worden sind.
Diese Optimierungstechnik wird Vorausbinden (Prebinding) genannt. Sie beschleunigt den Startvorgang von Programmen, nicht jedoch die Programme selbst. Die Technik ist dabei nicht nur auf Programme beschränkt. Für Systembibliotheken selbst ist sie noch wichtiger, da sich deren Funktionen gegenseitig aufrufen. Beispielsweise verwendet die Bibliothek, die die Fenster auf den Bildschirm zeichnet, Funktionen der Grafikbibliothek. Die Grafikbibliothek ihrerseits verwendet wiederum Funktionen des Betriebssystemkerns. Aus diesem Grund verwenden auch die Codebibliotheken und ähnliche Software-Komponenten wie Plugins das Vorausbinden, obwohl hier keine eigentliche „Startphase“ vorliegt.
Wie in den letzten Abschnitten erläutert, bindet sich jedes Programm wieder neu an die verfügbaren Bibliotheken an, wenn es erkennt, dass neue Bibliotheken installiert worden sind, beispielsweise als Teil eines System-Updates. Um diesen Schritt vorwegzunehmen, ist es eine gute Idee, wenn das Installationsprogramm des Updates alle Programme dazu bringt, diese „Neu-Vorausbindung“ während, oder besser gesagt, unmittelbar nach der Update-Installation durchzuführen. Das Installationsprogramm von macOS führt diesen Schritt tatsächlich als Teil jeder Systemaktualisierung aus. Er wird durchgeführt, wenn die Meldung „System für installierte Software optimieren“ angezeigt wird.
Es ist ein weit verbreiteter Irrtum, dass macOS keinerlei Form des Vorausbindens mehr verwenden würde. Dies ist falsch, obwohl viele Internet-Seiten das Gegenteil behaupten. Richtig ist: Moderne Systemversionen verwenden in der Tat eine neue Bindungstechnik, die das Vorausbinden von Programmen und Codebibliotheken von Drittanbietern überflüssig macht. Systembibliotheken sind jedoch immer noch im Voraus gebunden und ziehen Nutzen aus dieser Optimierung.
Das heißt, falls der Installationsvorgang einer Systemaktualisierung auf irgendeine Weise unterbrochen wurde, oder falls Sie eine der Systembibliotheken manipuliert haben, z.B. indem Sie eine bestimmte Bibliothek aus einer Time Machine-Sicherung auf einen früheren Stand gesetzt haben („Downgrading“), sollten alle Vorausbinde-Daten im System aktualisiert werden. Um einen systemweiten Vorausbindevorgang von Hand zu starten, führen Sie die folgenden Schritte durch:
macOS enthält einen Hintergrunddienst, der mit den Verzeichnisdiensten kommuniziert, die für Ihr System eingerichtet sind. Dieser Dienst ist der zentrale Informationsbeschaffer, um Daten über Benutzer, Computer, IP-Adressen, Benutzergruppen und viele andere Dinge zu sammeln, die für das Betriebssystem relevant sind. Unter besonderen Umständen kann der interne Speicherinhalt dieses Dienstes unrichtige oder veraltete Daten enthalten, insbesondere falls Ihr System auf einen DNS-Server oder Verzeichnis-Server zugreift, der nicht zuverlässig arbeitet, oder falls sich die Netzkonfiguration abrupt geändert hat. Dies kann sich in unerwarteten Verzögerungen äußern (drehender Regenbogenmauszeiger), besonders wenn Netzfunktionen genutzt werden.
In dieser Situation kann das Bereinigen des Online-Caches der Verzeichnisdienste das Problem möglicherweise beheben: Der Informationsbeschaffer wird wieder mit frischen Daten beginnen, die er aus Ihrem Netzwerk oder dem lokalen Computer ermittelt. Beachten Sie, dass dieser Cache nicht in irgendeiner Datei gespeichert ist. Er wird live im Hauptspeicher des Verzeichnisdienstesubsystems von macOS gehalten.
Das Wort „Verzeichnis“ wird manchmal als technischer Fachbegriff für einen Ordner verwandt, der Dateien enthält. Dies ist hier allerdings nicht gemeint. In diesem Kontext bezieht sich das Wort Verzeichnis auf eine Inventarliste von Namen, Objekten und Netzadressen, die für Ihren Computer relevant sind. macOS verwendet und betreibt immer einen Verzeichnisdienst, auch wenn der Computer nicht an ein Netzwerk angeschlossen ist.
Beim Ermitteln von Daten über Namen und Netzadressen anderer Computer stellen die Verzeichnisdienste nicht die einzige Quelle von Informationen dar, die für einige Zeit Einträge in einem internen Speicher-Cache vorhält. Der Systemdienst, der als „DNS-Auflöser“ arbeitet, also dafür zuständig ist, die Adressen zu Computernamen und umgekehrt zu bestimmen, unterstützt die Verzeichnisdienste bei ihrer Arbeit. Wenn Sie den Speicher-Cache bereinigen, können Sie entscheiden, ob nur die Einträge der Verzeichnisdienste als solche bereinigt werden sollen, oder ob ebenso zwischengespeicherte DNS-Daten entfernt werden sollen.
Um den Verzeichnis-Cache von macOS zu bereinigen, führen Sie die folgenden Schritte durch:
Da macOS ein UNIX-System ist, wird es mit dem Programm „locate“ geliefert, einem Kommandozeilenbefehl, der sehr schnell in der Lage ist, Dateien über deren Namen oder Namensteile zu finden. Locate ist bei der Suche nach Namen üblicherweise schneller als Spotlight und unterscheidet nicht zwischen sichtbaren und unsichtbaren Dateien. Ähnlich wie Spotlight benötigt locate eine interne Datenbank, um seine Aufgabe durchzuführen. Diese Datenbank wird in regelmäßigen Zeitabständen aktualisiert, um sicherzustellen, dass das Programm aktuelle Daten über neue und gelöschte Dateien zur Verfügung hat.
Da die meisten Anwender nicht mit der macOS-Befehlszeile arbeiten, ist der automatische Dienst, der die Locate-Datenbank aktualisiert, standardmäßig abgeschaltet. Die Information darüber, ob der Dienst zurzeit ein- oder ausgeschaltet ist, steht nur Benutzern mit Verwaltungsberechtigung zur Verfügung. Führen Sie die folgenden Schritte durch, um zu sehen, ob der Dienst aktiv ist oder nicht:
Der aktuelle Zustand wird nun über das Häkchen macOS soll die Locate-Datenbank regelmäßig aktualisieren angezeigt. Sie können das Feld entweder ankreuzen, um die automatische Wartung der Datenbank einzuschalten, oder das Häkchen entfernen, um diesen Dienst abzuschalten.
In einer Standardinstallation von macOS aktualisiert das System die Locate-Datenbank automatisch jeden Samstag um 3:15 Uhr nachts. Falls Ihr Computer zu dieser Zeit ausgeschaltet oder im Ruhezustand ist, wird die Aktualisierung automatisch auf einen späteren Termin verschoben, an dem das System aktiv ist. Um eine sofortige Aktualisierung der Locate-Datenbank „jetzt“ zu erzwingen, drücken Sie den Knopf Datenbank jetzt aktualisieren.
macOS stellt auf dem System-Volume unter Benutzer > Geteilt (/Users/Shared) einen besonderen Ordner dazu bereit, der dazu gedacht ist, dass mehrere Nutzer eines Mac lokale Dateien gemeinsam verwenden können. Alle Benutzer können Daten auf diese Weise miteinander teilen, indem der Ordner über spezielle Einstellungen so hergerichtet ist, dass Jeder Lese- und Schreibrecht hat. Gleichzeitig ist sichergestellt, dass nur der Ersteller und damit Eigentümer einer Datei diese auch wieder löschen kann, ohne dass das Risiko besteht, versehentlich die Daten anderer Benutzer zu entfernen.
Auch viele Programme von Apple und anderen Herstellern nutzen diesen Ordner automatisch, um Daten zu speichern, die für alle Benutzer interessant sein können. Dazu gehören auch Lizenz- oder Registrierungsdaten. Zum Beispiel nutzt iTunes versteckte Inhalte in diesem Ordner, um die Nutzungsrechte für urheberrechtlich geschützte Medien zu verwalten.
Manche Benutzer löschen diesen wichtigen Systemordner, weil er anfänglich leer ist und auf den ersten Blick keinen Zweck zu erfüllen scheint. Dies kann jedoch zu Ausfällen und Fehlern in zahlreichen Programmen führen. Aufgrund der besonderen Einstellungen dieses Ordners ist es nicht einfach, ihn wieder korrekt neu anzulegen.
TinkerTool System prüft, ob dieser Ordner auf Ihrem Mac vorhanden ist. Falls nein, kann er auf Wunsch wieder in korrekter Form angelegt werden, um das Betriebssystem zu reparieren.