Implementierung von gemeinsam benutzten Bibliotheken (Master) SS 21

Dynamisches Binden mit gemeinsam benutzten Bibliotheken (Bachelor) SS 21

Veranstaltungsort: BBB-Raum Shared Libraries SS21

Der Kurs ist als kombinierter Master- und Bachelorkurs gedacht. Hier finden Sie die Beschreibung im Modulkatalog fuer den Masterkurs, hier die fuer den Bachelorkurs.

In diesem Kurs geht es um das genaue Verstehen des Bindens von Objektmodulen zu einem lauffaehigen Programm, insbesondere im Hinblick auf das dynamische Binden mit Shared Libraries.

Dieses Kursangebot richtet sich an besonders leistungsstarke Studentinnen und Studenten. Auch der Dozent des Kurses kennt die Details des dynamischen Bindens noch nicht - lassen Sie uns die Prinzipien gemeinsam entdecken und unser neu erworbenes Wissen in einen lauffaehigen Binder umsetzen!

Es gibt zu dem Thema meines Wissens nur ein einziges wirklich gutes Buch: "Linkers and Loaders" von John Levine. Sie koennen entweder nach dem Titel suchen (es gibt mindestens zwei Stellen, die eine PDF-Version zum Download anbieten), oder sich hier die Postscript-Version der einzelnen Kapitel holen, die John Levine selber jahrelang auf einem FTP-Server bereitgehalten hat.

1. Einfuehrung, Zeitplan, ECO32

2. Objektformat

3. Storage Allocation

4. Symbol Management

5. Static Non-Shared Libraries

6. Relocations with Examples

7./8. Position-Independent Code: Prinzipien und Realisierung

9./10. Shared Libraries: Aufbau und Erzeugung von Libraries und Executables

11./12. Dynamic Linking: Prinzipien und Realisierung

Tests

Test mit statisch gebundenen Bibliotheken

Test mit statisch gebundenem positionsunabhaengigem Code

Test mit dynamisch gebundenen Bibliotheken (PIC Executable)

Test von Funktionszeigern

Test von Datenzeigern

Test und Verwendung von absoluten Symbolen

Test mit dynamisch gebundenen Bibliotheken (Non-PIC Executable, optional)

Notizen

Tools und Tests (14.06.)

Symbolaufloesung (21.06.)

Dynamischer Pfad (21.06.)

Notizen (28.06.)

Aufgaben (28.06.)