Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>/private/var/db/dyld - Frage an Experten!

/private/var/db/dyld - Frage an Experten!

andreas_g
andreas_g20.11.1010:20
Eine Frage aus reinem Interesse ...


Nach dem Update von Safari auf 5.0.3 ist mir aufgefallen, dass auf meiner Festplatte ungewöhnlich viel Platz verloren gegangen ist. (ca 70 MB, erwartet hätte ich fast keine Veränderung, da ja Safari 5.0.2 zuvor schon installiert war und ersetzt wurde.)

Der Speicherplatz scheint von einigen Dateien im oben genannten Verzeichnis verbraucht worden zu sein.

Folgende Dateien wurden bei der Installation verändert:

dyld_shared_cache_i386 206,6 MB
dyld_shared_cache_i386.map 53 KB
dyld_shared_cache_rosetta 207,3 MB
dyld_shared_cache_rosetta.map 45 KB
dyld_shared_cache_x86_64 205,6 MB
dyld_shared_cache_x86_64.map 49 KB


Einige davon haben schon recht ordentliche Größen erreicht.

Wozu genau dienen diese Dateien? Wieso sind sie bei der Installation von Safari "gewachsen"?

Vielen Dank für alle Antworten!

Andreas
0

Kommentare

beanchen20.11.1010:38
Schau in die .map rein, dann siehst Du, was in den "großen" Dateien alles zwischengespeichert wird. Das dient zur Beschleunigung. Ist halt bisschen was dazu gekommen.
0
sierkb20.11.1010:45
Ergänzend zum Gesagten meines Vorredners:
man update_dyld_shared_cache oder auch online
0
Marcel Bresink20.11.1011:20
Wenn ein Programm Dienstleistungen des Betriebssystems nutzen möchte - und das muss es andauernd, z.B. um eine Datei oder ein Fenster zu öffnen - dann muss es Unterfunktionen nutzen, die im Betriebssystem eingebaut sind. In modernen Betriebssystemen wird die hierzu nötige Verbindung zwischen dem Code des Programms und dem Code des Betriebssystems beim Start jedes Programms hergestellt. Dieser Vorgang wird "dynamisches Binden" genannt.

Wenn ein Programm also z.B. einige Funktionen aus Cocoa nutzen möchte, dann wird es beim Start an diese Funktionen von Cocoa "angeschlossen". Genauso gilt das für alle anderen Bestandteile des Systems, wie z.B. QuickTime, Spotlight-Suchfunktionen, Sprachsynthesizer oder eben das Web-Kit. Diese Aufgabe wird in Mac OS X von "dyld", dem "Dynamic Linker Loader" übernommen.

Das "Anschließen" dieser Funktionen ist recht mühsam, denn hierbei muss der Code der Systembibliotheken auf der Platte durchsucht und die genauen Speicheradressen für einige hundert oder einige tausend Systemfunktionen ermittelt werden. Da sich die Bibliotheken - außer nach Updates - aber niemals ändern, kann sich das System viel Zeit sparen, indem es sich bei jedem Update übersichtliche und schnell durchsuchbare Tabellen anlegt, wo welche Funktionen zu finden sind.

Genau das sind die "dyld shared caches", die in Varianten für 32-Bit-Code, 64-Bit-Code und PPC-Code getrennt angelegt werden. Das Anlegen dieser Caches passiert in der Phase "Optimieren der Systemleistung" im Update-Installationsprogramm. Der Start von Programmen wird durch diese Dateien stark beschleunigt.

Dass diese Caches mit Safari 5.0.3 stark angewachsen sind, wage ich allerdings zu bezweifeln. Möglicherweise wird der Speicherplatz ganz woanders verbraucht ...
+1
Shumweight
Shumweight20.11.1012:09
Marcel Bresink:

Vielen Dank, so verständlich hat mir noch keiner die Prebindings erklärt!
0
andreas_g
andreas_g20.11.1015:18
Vielen Dank an Marcel Bresnik und alle anderen für die gut verständlichen Erklärungen und Links!

Das ist eine interessante Sache. Werde die Dateien beim nächsten Software-Update im Auge behalten, um zu sehen was passiert.
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.