Systembibliotheken

Hallo,

kann mir jemand sagen, ob Systembibliotheken von betriebssystemen immer programmiersprachenspezifisch sind oder von verschiedenen Hochsprachen aus nutzbar?

Vielen Dank,
Winter

Hi Winter,

was sind System bibliotheken? Dateien, die vom Betriebssystem verstanden werden müssen, bestehen aus Informationen, die von jedem Programm interpretiert werden können, das die Datenstruktur der jeweiligen Datei kennt. Das ist völlig unabhängig davon, ob die lesenden Programme in Assembler, Fortan, C++ oder was auch immer geschrieben sind. Merke: Bei der Ausführung gibt es nur noch Maschinensprache, nämlich das, was der Chip versteht.

Gruß Ralf

Hallo Winter,

kann mir jemand sagen, ob Systembibliotheken von
betriebssystemen immer programmiersprachenspezifisch sind oder
von verschiedenen Hochsprachen aus nutzbar?

Auf jeden Fall, mus die Bibliothek eine definierte Schnittstelle aufweisen, da sie sonst nutzlos ist.

Wie die gestaltet ist, obliegt dem Hersteller des Betriebssystems.

Der Compilerhersteller will ja sein Produkt verkaufen, also wird er, wohl oder übel, diesen an die entsprechenden Schnittstellen anpassen müssen. (z.B. das SChlüsselwort „pascal“ in C, für Windows 3.x).

MfG Peter(TOO)

kann mir jemand sagen, ob Systembibliotheken von
betriebssystemen immer programmiersprachenspezifisch sind oder
von verschiedenen Hochsprachen aus nutzbar?

Auch hallo
Angenommen, Du meinst die System Dll,s unter Windows, da ist es so:

Es gibt nur eine Sammlung Bibliothekdateien. Keinesfalls eine für Visual Basic, eine für C++ usw…
Nur, womit eine dll hergestellt wurde, kann unterschiedlich sein.
So gibt es dann eine Assembler dll, eine C Bibliothek oder ein VB-Control für den Internet-Explorer.(Nur als Beispiel)

Es handelt sich um besagte dll,s , welche mit einer Systemfunktion zunächst geladen werden müssen. Das gescheiht zumeist automatisch mittels Benennung der dll und dem Einsprungspunkt und dem ersten Aufrufen.
Die Einsprungspunkte sind Adressen im 32 Bit Adressraum vom Windows.
Die Einsprungsadressen können auch durch Nummern bezeichnet sein.
Der Aufruf entspricht dann der jeweiligen Programmiersprache, beziehungweise, auf dem Stapel muß sich immer dasselbe befinden, gleich welche Sprache benutzt wird.
Es werden im genauen Daten auf den Stapel gelegt, ein Stackframe gemacht und eine Adresse angesprungen.

Die Hochsprachen haben selbst eine Schnittstelle zum System, sonst könnte man ja nichts programmieren.
Beim Dos und ich glaube auch bei Linux/Unix gehts mit ausgelösten Interrupts und den Inhalten von Registern.

Wie nun im einzelnen solches mit einer bestimmten Programmiersprache gemacht wird, steht im Handbuch. Man braucht da umfangreiche Dokumentation nicht nur zur jeweiligen Programmiersprache, sonst wirds nichts.

MfG und munter bleiben
Matthias