Hilfe & Service von EDV-Fachleuten
comexec0.png

Edit v5.000 from 2008-01-28 to 2022-12-29 by HSc

Command- und Execude-Format

Aufbau, Funktion, Gemeinsamkeiten und Unterschiede von Command- und Execute-Programmen. Kenntnisse darüber erleichtern das Verständnis des Startes, der Funktion von solchen Programmen und deren Vor- und Nachteile, sowie deren Schwachpunkte.

Informationen zum Programmstart von

Start eines Programms

comexec1.png
Was passiert eigentlich, wenn ein Programm aufgerufen wird.
  1. Die Exec-Funktion reserviert Speicher für das zu ladende Programm, der das aufrufende Programm aufnehmen soll;
  2. Die Exec-Funktion legt an den Anfang des reservierten Speicherbereiches eine Datenstruktur mit den Namen PSP (Program Segment Prefix) an;
  3. Die Exec-Funktion des Betriebssystems lädt das COMMAND- bzw. Execude-Programm hinter den PSP;
  4. Die Segment-Register und der Stack werden initialisiert;
  5. Start des Programms und
  6. Nach Beendigung des Programms, wird soweit der Speicher nicht durch einen speziellen Funktionsaufruf durch das Programm selbst, der Speicher von PSP und Programm wieder freigegeben.
Die Unterschiede des Verhaltens von Command- und Execude-Programmen sind noch einmal in Tabelle 1 aufgeführt.

Aufbau des Program Segment Prefix

comexec2.png
Das PSP, siehe Tabelle 2, ist immer 256Byte groß und ist ein Überbleibsel aus CP/M und den ersten DOS-Versionen.

Programm-Typen

comexec3.png
Command-Programme
Der Dateityp von diesen Programmen ist *.COM! Beim Start werden keine weiteren Einstellungen vom Command-Programm vorgenommen.
Execute-Programme
Der Datei-Typ der Execute-Programme ist *.EXE! *.EXE - Dateien beinhalten am Anfang eine Datenstruktur, die unter anderem die Adressen aller Segment-Bezüge enthält. EXE-Programme werden nicht direkt vom Datenträger in den Speicher geladen, sondern durch eine Routine der Exec-Funktion aufbereitet.
Nach Oben