Schnellkurs: Datalogie
Hallo Userine
Daten bestehen nur aus einer Reihe von Zahlen. Das Ganze ist wie eine Geheimsprache, ohne zu Wissen welche Zahlen welche Bedeutung haben, wenn dir also das entsprechende Code-Buch fehlt, kannst du, oder der Computer, nichts damit anfangen und wirst auch nicht erkennen ob die Daten ein Bild, ein Musikstück oder ein Programm darstellen sollen. Wenn in einigen 100 Jahren mal einer eine gut erhaltene CD-ROM ausbuddelt, wird er wahrscheinlich erkennen, dass es sich um einen Datenspeicher handelt, man wird dann auch die Zahlen-Reihen von der CD lesen können, aber dann wird wahrscheinlich Schluss sein.
Grundsätzlich wird zwischen Daten, welche Bearbeitungs-Vorschriften sind (= Programme) und Daten welche durch Programme ver- und bearbeitet werden (= Daten oder MS-Slang = Dokumente) unterschieden.
Auf einem Datenträger werden prinzipiell nur Daten abgelegt, ob es Daten oder Programme sind, ist für die Verwaltung des Datenträgers nicht von Belang. Für die Funktion eines Aktenordners spielt es ja auch keine Rolle ob die darin Briefe oder Zeichnungen abgelegt werden.
Das Betriebsystem muss jetzt aber unterscheiden können ob es sich um eine Datei handelt, welche Befehle enthält die von CPU direkt ausgeführt werden können oder ob es sich um Daten handelt welche von einem bestimmten Programm verarbeitet werden müssen.
MS ging dabei den Weg der Datei-Endungen, wärend z.B. Unix diese Information einerseits im Datei-Eintrag auf dem Datenträger (Programm/Daten) und andererseits durch „Magic-Numbers“, spezielle Codes, welche am Anfang der Datei gespeichert werden, ablegt. Dazu weiter unten noch etwas mehr.
Ich hoffe du konntest bis hierhin folgen. Jetzt wird es scheinbar etwas wiedersprüchlich:
Direkt von der CPU ausführbar sind nur .COM-Dateien.
Das .EXE-Format enthält das Program in einem „verpackten“ Format, mit zusätzlichen Information (z.B. minimaler Speicherbedarf) für das Betriebssystem.
Die .DLL-Dateien sind, wie schon erwähnt, Programm-Teile welche Funktionen enthalten, welche jeder Programmierer brauchen kann. z.B. ist der Standart-Dialog zum Öffnen einer Datei (sie heisst COMMDLG.DLL) in einer solchen „Bibliothek“ abgelegt.
Eine andere Form solcher Standart-Elemente sind die ActiveX Module (.OCX), welche aber eigentlich im .EXE-Format abgespeichert sind.
.BAT-Dateien sind keine Programme welche von der CPU direkt ausgeführt werden können, sondern eigentlich nur normale TEXT-Dateien in welcher Befehle, als lesbarer Text, abgespeichert sind, welche von einen speziellen Programm (COMMAND.COM) ausgewertet („interpretiert“) werden, aber das Betriebssystem weiss das auf Grund der .BAT-Endung, und für dich als Benutzer verhält sich eine .BAT-Datei wie ein normales Programm.
In Windows gibt es nun eine Tabelle in welcher, die bekannten, Datei-Endungen abgelegt sind und was damit anzustellen ist resp. welches Programm gestartet werden muss um damit etwas anzufangen. Diese Tabelle kannst du im Datei-Explorer unter „Ansicht->Optionen“ ansehen und Teilweise auch selber anpassen und erweitern.
Ein Problem bei der MS-Lösung besteht darin, dass Windows das Datenformat nur über die Datei-Endung erkennt und wenn du eine Datei-Endung umbenennst oder 2 verschiedene Programmierer die gleiche Datei-Endung für verschiedene Datei-Formate verwenden, kommt Windows etwas durcheinander. Die Unix-Lösung mit den „Magic-Numbers“ hat da doch einige Vorteile, weil du eine Datei Benennen kannst wie du willst. Ich habe hier z.B. das Problem, dass die Endung .DAT und .SCH von mehreren Programmen verwendet wird und somit nichts Einfaches mit Doppelklick auf die Datei machbar ist.
So ich hoffe konntest bis hierher Folgen.
MfG Peter(TOO)