Wie werden *.exe ausgeführt?

... komplette Frage anzeigen

3 Antworten

Wie die Datei im einzelnen heißt, ist dem Prozessor völlig egal.

Es geht darum, welche "Maschinenbefehle" darin stehen - das ist das einzige, was der Prozessor wirklich versteht. Die müssen erst einmal in den "Arbeitsspeicher" geladen werden.

Auf dem Mainboard ist ein Chip, der ein sehr einfaches Betriebssystem enthält, das die wichtigsten Einstellungen vornehmen kann und insbesondere andere Betriebssysteme in den Speicher laden kann. (Heute ist das aber nicht sofort das Betriebssystem, mit dem der Benutzer arbeitet, sondern ein "Bootloader", der seinerseits das Betriebssystem lädt. Also eine mindestens dreifache Staffel.) Dieses einfache System nannte sich bis vor kurzem BIOS, jetzt ist es deutlich leistungsfähiger und nennt sich (U)EFI.

Allerdings gibt es unter diesen Maschinenbefehle auch einige, die "Unterprogramme" an anderer Stelle im Arbeitsspeicher ausführen. Für die Frage am wichtigsten sind die Unterprogramme, die für Ein- und Ausgabe zuständig sind, also für Bildschirm und Tastatur (und bei EFI auch Maus).

Ein Betriebssystem ist im wesentlichen eine Sammlung von solchen Treibern und vielen anderen Hilfsprogrammen für Dinge wie eine Fensterverwaltung.

Die Dateiendung ist in erster Linie dafür da, dass wir Menschen erkennen, wofür so eine Datei gut ist. (Und in zweiter Linie, damit der Computer das erkennt - je nach Betriebssystem.) Die .efi- und .uefi-Dateien rufen Unterprogramme vom EFI bzw. UEFI auf. Die .exe-Dateien rufen Unterprogramme vom Betriebssystem Windows auf. Andere Dateien, oft mit der Endung .bin, rufen Unterprogramme vom Betriebssystem Linux auf. Usw.

Diese Dateien haben aber alle gemeinsam, dass sie direkten Maschinencode enthalten, den der Prozessor ohne Übersetzung ausführen kann.

Antwort bewerten Vielen Dank für Deine Bewertung

Dateien können alle nicht direkt vom Prozessor ausgeführt werden.

Es läuft immer so ab dass in der Datei Programmanweisungen stehen, mit Speicheradresse und dem jeweilige Wert an dieser Stelle. Die werden dann in den Arbeitsspeicher geladen und dort ausgeführt. Das ist aber egal in welchem Format die Dateien sind, sie müssen vor dem Ausführen sowieso geparst werden und dann in den Arbeitsspeicher geladen werden. Das Parsen bzw wie die Daten in der Datei stehen hängt aber vom Dateityp ab. Außerdem stehen, neben dem Programm, noch einige Metadaten in der exe Datei drinnen

Antwort bewerten Vielen Dank für Deine Bewertung

.exe Dateien sind bereits compilierte Dateien und werden somit nur noch von der Laufzeitumgebung gelesen.


Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von JCK2000
16.02.2016, 16:35

Heißt das jetzt das sie per Interpreter ausgeführt werden?

0

Was möchtest Du wissen?