zusammenfassungen/Writerside/topics/BS/15_Bibliotheken.md
David Schirrmeister cc0ef991fc update
2024-06-03 09:10:32 +02:00

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