Prebinding
Prebinding war eine Optimierungstechnik, die von frühen Versionen von macOS (früher Mac OS X) verwendet wurde, um Anwendungen schneller zu starten. Sie arbeitete mit Mach-O-Dateien, dem nativen Format für Anwendungen, Bibliotheken und anderen ausführbaren Code in macOS.
So funktionierte Prebinding
Anwendungen verwenden häufig gemeinsam genutzte Bibliotheken, die von mehreren Programmen benötigten Code enthalten. Normalerweise muss ein dynamischer Linker diese Bibliotheken suchen, in den Speicher laden und Verweise auf ihre Funktionen und Daten auflösen. Prebinding führte einen Teil dieser Arbeit im Voraus aus, indem bevorzugte Speicheradressen zugewiesen und aufgelöste Verweise aufgezeichnet wurden, bevor eine Anwendung gestartet wurde.
Frühe Versionen von Mac OS X führten Prebinding während der Installation von Software oder während eines Prozesses zur Systemoptimierung aus. Der Prozess verkürzte zwar die Startzeit von Anwendungen, aber Änderungen an einer Anwendung oder einer ihrer Bibliotheken konnten die Prebinding-Informationen ungültig machen, sodass sie neu erstellt werden mussten. Die Technik wurde außerdem weniger nützlich, als Betriebssysteme positionsunabhängigen Code und Address Space Layout Randomization (ASLR) übernahmen, wodurch Speicherpositionen absichtlich variiert werden, um die Sicherheit zu erhöhen.
Prebinding in der modernen Zeit
Moderne Versionen von macOS verwenden kein herkömmliches Prebinding mehr. Stattdessen verwendet der dynamische Linker von Apple, bekannt als dyld, Technologien wie den gemeinsam genutzten dynamischen Linker-Cache und Start-Closures, um Mach-O-Anwendungen effizient zu laden. Obwohl diese Technologien eine ähnliche Wirkung haben, bezieht sich der Begriff Prebinding technisch auf den Prozess, der von frühen Versionen von Mac OS X verwendet wurde.
Testen Sie Ihr Wissen