zusammenfassungen/Writerside/topics/02/BS/15_Bibliotheken.md
David Schirrmeister 73e1392286 update
2024-12-05 13:53:10 +01:00

30 lines
1.0 KiB
Markdown

# 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
- 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