1.0 KiB
1.0 KiB
Bibliotheken
Gemeinsame Bibliotheken
-
In jedem modernen System vorhanden
- bspw. I/O-, Grafikbibliotheken
-
Statt an jedes Programm statisch binden
- shared libraries
-
Bsp.:
- normales Programm benutzt 20-50MB an Grafik- und Benutzungsschnittstellenfunktionen
- hunderte solcher Programme
- viel Speicher, RAM verschwendet
- BS hat keine Möglichkeit um zu schauen, ob eine gemeinsame Nutzung infrage käme
-
Falls Programm mit gemeinsamen Bibliotheken verbunden
- Binder (Linker) schließt Stub-Routine ein
- statt aktueller Funktionsaufrufe
- Binder (Linker) schließt Stub-Routine ein
-
Gemeinsame Bibliotheken gleichzeitig wie Programm / beim ersten Aufruf ihrer Funktion laden
- abhängig vom System
- Falls durch anderes Programm bereits geladen
- Muss nicht nochmal! :)
- Wird nicht auf einmal in den Speicher eingelesen
- Bei Bedarf Seite für Seite
- Keine Funktionen im RAM, die nicht gebraucht werden
-
Ausführbare Dateien bleiben klein
-
Falls Fehler in Bibliothek
- Beheben
- Nicht alle Programme neu übersetzen