- Ausführen von Programmen
-
Als ausführbare Datei (auch Programmdatei) bezeichnet man eine Datei, die als Computerprogramm ausgeführt werden kann. Hierbei kann es sich um Binärdateien in Maschinensprache oder einem Bytecode handeln, die direkt oder durch ein Laufzeitsystem ausgeführt werden können, oder um Textdateien, die von einer Betriebssystem-Shell interpretiert werden.
Inhaltsverzeichnis
Interaktion mit Betriebssystemen
Manche Betriebssysteme erkennen ausführbare Dateien an der Dateinamenserweiterung (z.B. .exe) oder an Kennungen, die neben der Datei in ihren Metadaten vermerkt sind (wie bei Unix-ähnlichen Systemen). Die meisten Betriebssysteme überprüfen jedoch auch das Dateiformat, um nicht zufällige Bitfolgen zur Ausführung gelangen zu lassen. Moderne Betriebssysteme halten die Kontrolle über die Systemressourcen, wodurch einzelne Programme Systemaufrufe tätigen müssen, um auf besondere Ressourcen zugreifen zu können. Da jede Betriebssystemfamilie ihre eigenen Architekturen für Systemaufrufe hat, sind ausführbare Dateien im allgemeinen an ein bestimmtes Betriebssystem gebunden. Es gibt jedoch einige Werkzeuge, die die Systemaufrufe abfangen und konvertieren und so ausführbare Dateien auf fremden Betriebssystemen funktionieren lassen. Beispiele sind hier Cygwin und Wine.
Windows
Unter Microsoft Windows werden Dateitypen durch ihre Dateiendung gekennzeichnet. Ausführbar sind unter anderem:
- com
- exe
- bat (siehe auch: Stapelverarbeitung)
- cmd (siehe auch: Stapelverarbeitung)
- pif (eigentlich für Verknüpfungen gedacht, wird aber auch von Computerviren ausgenutzt)
- scf (wird von speziellen Funktionen verwendet, z. B. „Desktop anzeigen“ in der Schnellstartleiste)
- scr (Bildschirmschoner, gleiches internes Format wie exe)
Unix und seine Derivate
Unter Unix-Derivaten wie z.B. Linux muss das "X-Bit" in den Dateirechten gesetzt sein, um eine Datei als ausführbar zu kennzeichnen. Das X-Bit ist in der Regel bereits standardmäßig so gesetzt, dass die Datei für jeden ausführbar ist.
Während binäre Programme anhand ihres ELF-Headers erkannt werden, müssen Skripte und für Interpretersprachen geschriebene Programme mit einem Shebang beginnen, um vom Kernel als Programm erkannt und automatisch mit dem korrekten Interpreter ausgeführt zu werden.
Üblicherweise haben ausführbare Dateien unter Unix keine Dateiendung, da diese bei gesetztem X-Bit keine Rolle spielt.
z/OS
Unter z/OS muss das ausführbare Programm in einer Loadlibrary (Partitioned Dataset oder PDSE mit Recordformat U) vorliegen. Ein Member in dieser Bibliothek ist nur dann ausführbar, wenn auch die vom Binder (bzw. Linkage Editor) erzeugten Attribute im Directory vorhanden sind.
Ein ausführbares Programme wird in der STEPLIB oder der JOBLIB gesucht, wenn es dort nicht gefunden wird, wird die Linklist durchsucht.
Siehe auch
Wikimedia Foundation.