Navigation
« 

Anonymous




Register
Login
« 
« 

Amiga Future

« 

Community

« 

Knowledge

« 

Last Magazine

The Amiga Future 168 will be released on the 5th May.

The Amiga Future 168 will be released on the 5th May.
The Amiga Future 168 will be released on the 5th May.

The Amiga Future 168 will be released on the 5th May.
More informations

« 

Service

« 

Search




Advanced search

Unanswered topics
Active topics
« 

Social Media

Twitter Amigafuture Facebook Amigafuture RSS-Feed [german] Amigafuture RSS-Feed [english] Instagram YouTube Patreon WhatsApp
« 

Advertisement

Amazon

Patreon

« 

Partnerlinks

Dateitypen und Dateityperkennung am Amig

Description: Amiga Aktuell Ausgabe 11/2002

Categories: [DE] Workshops

Link to this article: Select all

[url=https://www.amigafuture.de/app.php/kb/viewarticle?a=2001&sid=5d42627b563cee785748537aa0fe8ca7]Artikeldatenbank - Dateitypen und Dateityperkennung am Amig[/url]

Wer hat sich nicht schon mal darüber lustig gemacht, dass die Microsoft- Betriebssysteme sich strikt an ein festes Dateinamenschema halten, das früher sogar nur 8 Zeichen für den Namen und drei Zeichen für die Endung vorschrieb! Währenddessen ließ AmigaOS von Anfang an einen großen Freiraum bei der Bezeichnung von Dateien, was sich zum Beispiel in Dateinamen ohne oder mit zwei oder mehr Punkten äußerte. Aber diese drei Zeichen nach dem Punkt hatten einen nicht zu unterschätzenden Vorteil: Sie ließen schnell erkennen, um welchen Typ von Datei es sich handelte - womit wir beim Thema wären:

Dateitypen

Man kann grob zwei Arten von Objekten auf Speichermedien unterscheiden: Strukturen, also Verzeichnisse und Links, und Datenpakete, also Dateien. Während Strukturen im Aufbau immer gleich sind und fast vollständig vom Betriebssystem verwaltet werden, werden Dateien mit den verschiedensten Inhalten sowohl vom Betriebssystem als auch von beliebigen Anwendungen geschrieben und gelesen. Dies geht soweit, dass eine Datei ohne die zugehörige Anwendung wertlos und "unlesbar" ist! Dies stellt das Betriebssystem und den Anwender vor ein großes Problem: Wie soll man erkennen, was eine Datei enthält und mit welcher Anwendung die Datei angezeigt oder bearbeitet werden kann? Während die einzelnen Anwendungen entscheiden können, ob eine Datei für sie lesbar ist, hat das System zunächst keine Entscheidungsgrundlage. Es kann außerdem der Fall eintreten, dass eine Datei von mehreren Anwendungen bearbeitet werden kann, so dass keine eindeutige Zuordnung möglich ist (zum Beispiel Grafiken oder Textdateien): Textdateien sollen beispielsweise in einem Editor angezeigt werden, aber falls es sich um HTML-Quellcode handelt, soll ein Browser gestartet werden! Man erkennt, dass es sowohl Probleme bei der Definition eines klar abgegrenzten Dateityps als auch bei der Erkennung und Zuordnung zu einem Standardprogramm gibt. Wir schauen uns nun mal an, was es für Lösungen gibt:

Gates punktet

Oben sind sie schon aufgetaucht: die von Microsoft bekannten Endungen, die sich auch schon auf dem Amiga verbreitet haben. Im Grunde ist es die einfachste Möglichkeit, Dateien zu unterscheiden: Der Name erhält einen Zusatz, der den Inhalt charakterisiert. Unter den ersten Windows-Versionen war Position und Länge von Punkt und Endung fest vorgeschrieben, heute sind auch längere Endungen möglich. Die Dateitypen werden mit den zugehörigen Daten (also Endung, Beschreibung des Inhalts, Icon zur Anzeige in Listen, Standardprogramm und weitere Funktionen) in der Registry, also einer zentralen Systemdatenbank, gespeichert, auf die sowohl Anwender als auch Programme zugreifen können (die nötigen Rechte vorausgesetzt).

Sowohl System als auch Anwender können leicht erkennen, um welchen Typ von Datei es sich handelt. Beim Lesen eines Verzeichnisses kann zum Beispiel schnell nach einem Dateityp gefiltert werden, was am Amiga beispielsweise "list #?.info" zeigt. Da der Dateiname auch beim Kopieren auf andere Betriebssysteme erhalten bleibt, lässt sich so auch dort der Inhalt noch nachvollziehen. Die zentrale und gut zugängliche Speicherung der Dateitypen erleichtert den Zugriff durch Dateimanager oder das Anlegen eines neuen Dateityps durch eine Anwendung.

Aber das Prinzip hat auch Nachteile: Mit dem Umbenennen der Datei kann auch, absichtlich oder aus Versehen, die Endung geändert werden, wodurch die Informationen über den Inhalt verloren sind! Dass die Endungen auch manchmal stören, wenn in einem Verzeichnis nur Dateien eines Typs existieren, hat auch Microsoft erkannt und schon Möglichkeiten zum Ausblenden der Endung geschaffen, in der Hoffnung dass das zugehörige Icon dann noch aussagekräftig genug ist.

Ein weiteres Problem ist die mögliche Übereinstimmung von Endungen verschiedener Dateitypen; beschränkt man sich auf drei Buchstaben, so sind nämlich die lesbaren Endungen bald ausgeschöpft, und es kann durchaus dazu kommen, dass Programm x und Programm y Dateien mit der gleichen Endung versieht.

Interchange File Format

ist nur ein Beispiel für die nächste Art der Dateityperkennung; die als IFF bekannten Dateien, die vor allem für Grafiken und Animationen benutzt werden, besitzen einen modularen Aufbau mit einer wichtigen Gemeinsamkeit: In den ersten Bytes der Datei - das heißt im Inhalt selbst - steht unter anderem der genaue Typ der folgenden Daten. Dies ist auch bei anderen Dateitypen der Fall, zum Beispiel bei JPEG- oder TIFF-Dateien.

Im Gegensatz zu den Endungen sind hier mehrere Informationen zur Erkennung nötig: Wo stehen die Kennzeichen, und was steht dort. Damit ist aber der Anwender auf einen Dateimanager angewiesen, der dies prüfen kann, ein einfaches "list" tut es nicht mehr. Durch das Öffnen der Datei wird zudem das Lesen eines Verzeichnisses langsamer, und mehr Zugriffe auf den Datenträger sind nötig.

Wie unter Windows, ist hier eine genaue Auflistung der Erkennungsmerkmale nötig, die möglichst zentral verwaltet werden sollte.

Amiga bietet bunte Bildchen

Unsere Workbench bietet eine etwas andere Lösung des Problems: Statt einer allgemeinen Klassifizierung kann jede Datei eine .info-Datei mitbringen, die alle nötigen Informationen enthält. Die zugehörige Grafik soll den Typ der Datei für den Anwender erkennbar machen, das Standardprogramm und weitere Eigenschaften werden in der .info-Datei abgelegt und können auf der Workbench angezeigt und bearbeitet werden.

Die Idee ist zwar nicht schlecht, aber wir kennen die Nachteile: Nicht alle Dateien besitzen auch eine .info-Datei! Zudem müssen beim Kopieren, Umbenennen usw. immer auch die .info-Dateien berücksichtigt werden, was noch schlimmer als das Nutzen der Endung ist. Außerdem vermisst man unter den Informationen den eigentlichen Dateityp, was wieder dazu führt, dass das Icon so gestaltet sein muss, dass man den Typ erahnen kann. Zur Verteidigung muss man allerdings hinzufügen, dass das Icon-Konzept eigentlich nur für die grafisch orientierte Workbench entwickelt wurde und dort auch akzeptable Dienste leistet.

Und nun??

Durch Internet und allgemeinen Datenaustausch finden sich auf Amiga- Rechnern heute sowohl Amiga-spezifische als auch plattformunabhängige Dateiformate. Dort, wo Dateien aus der Windows-Welt übernommen werden, müssen Endungen geprüft werden, um den Dateityp zu erkennen, bei ausführbaren Programmen usw. müssen wir die Datei öffnen und den Inhalt prüfen.

Die Entwicklung hat nicht aufgehört, und so gibt es mehrere Lösungsansätze, die sich kaum unterscheiden.

DirectoryOpus, DefIcons und ClassAction beinhalten drei Ausführungen des gleichen Prinzips: die Konfiguration einer Liste von Dateitypen, wobei zunächst Standarddateitypen vordefiniert sind, aber auch das Bearbeiten, Hinzufügen und Entfernen neuer Typen möglich ist.

Dabei kann man sowohl Dateinamensmuster (also etwas mehr als nur Endungen) als auch Erkennungsmerkmale im Inhalt, zum Teil auch weitere Entscheidungskriterien angeben. DefIcons beschränkt sich allerdings auf die Klassen und definiert ein Standard-Icon, während DOpus und ClassAction eine Liste von Funktionen (Aktionen) hinzufügen.

Dies führt im schlimmsten Fall dazu, dass alle Dateitypen dreimal definiert werden müssen - wobei manche Definitionen nicht von einem zum anderen System übertragen werden können, da sich die unterstützen Kriterien unterscheiden. Die Stellung von DirectoryOpus und DefIcons in OS4+ sind wohl nicht nur mir zur Zeit unklar.

Es bleibt zu hoffen, dass das AmigaOS in Zukunft eine zentrale Verwaltung von Dateitypen und Standardfunktionen anbietet (auch durch eine Library mit den nötigen Funktionen), so wie es unter anderen Betriebssystemen möglich ist, da damit sowohl Benutzern als auch Programmierern das Leben erleichtert wird!

Euer

Martin R. Elsner