Minix - Turbo für die Festplatte

Bessere Information: lange Dateinamen mit Groß/Kleinschreibung, hier im Zusammenspiel von Desktop und TreeView

Wer sich bislang über langsame Dateioperationen geärgert hat, erhält nun eine leistungsstarke Alternative zum betagten GFMDOS-Dateisystem. Vor kurzem in stark überarbeiteter Version erschienen, fristete das als Freeware inklusive Quelltexten erhältliche Minix-Dateisystem bislang doch eher ein Schattendasein. Zu Unrecht, wie hier gezeigt werden soll.

Bekanntlich ist das GEMDOS-Dateisystem vom Aufbau her weitgehend kompatibel zum MS-DOS-Dateisystem, so daß man, Partitionen bis max. 16 bzw. 32 MB vorausgesetzt, problemlos Daten austauschen kann. Doch bringt diese Kompatibilität auch längst nicht mehr zeitgemäße Einschränkungen mit sich. Dateinamen sind auf maximal 8 Zeichen für den Namen plus 3 für die Endung, dazu ausschließlich in Großschrift, beschränkt. Kennungen für Zugriffsrechte (wer hat die Datei angelegt, und wer darf sie lesen, in sie schreiben oder sie ausführen) oder Links (Verweise auf Dateien oder Verzeichnisse) existieren im GEMDOS-Dateisystem ebensowenig wie getrenntes Erstellungs-, Änderungs- und Zugriffsdatum.

Wer keine besseren Systeme kennt, wird hier vom Leistungsumfang her vermutlich noch nichts vermißt haben. Doch zu alldem kommt eine sehr ineffiziente interne Verwaltung der Daten, die wirkungsvoll verhindert, daß Sie mit Ihrer neuen Festplatte, die wie ihr Rechner mühelos 1 MB Daten pro Sekunde transportieren kann, bei vielen kleinen Dateien auch nur annähernd zufriedenstellenden Datendurchsatz erreichen. Wer daran zweifelt, sollte einmal in einem vollen Verzeichnis mit mehreren hundert Dateien versuchen, einige Dateien umzubenennen.

Ist ein Write-Cache installiert, sieht man ganz deutlich, daß kaum Plattenzugriffe erfolgen, sondern das GEMDOS sehr lange mit internen Berechnungen verbringt. Eine detailliertere Schilderung der Vorgänge wäre angesichts dessen, daß ATARI bislang weder selbst Änderungen vorgenommen noch die Quellen offengelegt hat, nutzlos.

Soweit ist das zwar seit vielen Jahren bekannt, doch gab es bislang außer Turbo-DOS, das mit TOS 1.04 obsolet wurde, und Power-DOS, das sich als zu instabil erwies, keine Verbesserungen. Kobold, das eher zum Kopieren und Verschieben größerer Datenmengen gedacht ist, läßt sich laut Autor immerhin im Kompatibilitätsmodus (mehr dazu unten) auch auf Minix-Dateisystemen einsetzen. Doch ist es nicht transparent ins System integriert, sondern ein eigenständiges Programm, wenngleich einige Desktops in der Lage sind, bestimmte Dateioperationen darüber auszuführen.

MiNT

Mit der raschen Verbreitung von MiNT, das als Multitasking-System einen Teil des TOS ersetzt, die Grundlage für ATARIs MultiTOS darstellt und die Einbindung neuer Dateisysteme erlaubt, ergibt sich die Möglichkeit, das vorher nur im Rahmen des Minix-Paketes (ein Mini-UNIX) verwendete Dateisystem (FS=Filesystem) nun unabhängig davon zu nutzen. Zur Installation sind lediglich MiNT, das Minix-FS-Paket, ein bißchen technisches Verständnis rund um den ATARI und eine mittlere Portion Mut vonnöten. Ein geeigneter C-Compiler wie GNU, Pure oder Lattice C, um die jeweils aktuelle Version von MiNT selbst übersetzen zu können oder alternativ MultiTOS wären von Vorteil, um eine aktuelle MiNT-Version zur Verfügung zu haben. Das Minix-Dateisystem, dessen Quelltexte ebenfalls frei erhältlich sind, ist derzeit allerdings nur mit GNU C zu übersetzen. Detaillierte Anleitungen zu den einzelnen Programmen liegen in englischer Sprache bei. Obwohl der Autor selbst untertreibend von einer pre-alpha-Release spricht, kann man das System mittlerweile durchaus als stabil bezeichnen. Wenngleich sich meine sehr wichtigen Daten derzeit noch auf GEMDOS-Partitionen befinden, so liegt doch fast alles andere bereits auf Minix-Partitionen; ohne Zugriff auf diese kann ich nicht einmal mehr ein Programm compilieren, das Minix-Filesystem ist also ständig im Einsatz, ohne dabei Schwierigkeiten zu bereiten.

Installation

Die Funktionen für das Minix-Dateisystem, z.B. zum Öffnen. Umbenennen oder Löschen von Dateien, befinden sich in „MINIX.XFS“. das einfach ins Wurzelverzeichnis der Boot-Partition kopiert zu werden braucht, um nach dem nächsten Booten von MiNT aktiviert zu werden. Das bedeutet auch, daß zumindest die Boot-Partition weiterhin eine GEMDOS-Partition bleiben muß.

Da Minix- und GEMDOS-Partitionen zueinander natürlich nicht kompatibel sind, muß man nun eine freie Partition auswählen, auf der das neue Dateisystem eingerichtet werden soll. Wessen Portion Mut etwas kleiner ausgefallen ist, kann auch erst mal eine Diskette verwenden. Dabei legt man dann u.a. die Maximallänge der Dateien - 30 Zeichen dürften für die meisten Zwecke ausreichen - fest. Außerdem gibt es zwei Schutzmechanismen: ist nämlich das Minix FS nicht installiert, erscheint das Verzeichnis der Partition für GEMDOS leer, und das Format erweckt den Eindruck, als ob auch kein freier Platz zur Verfügung stünde, so daß man nicht versehentlich Dateien darauf kopieren kann. Das hätte, da damit Verwaltungsstrukturen der Minix-Partition überschrieben würden, unweigerlich völligen Datenverlust zur Folge. Diesem Schutzmechanismen sollte man allerdings, worauf der Programmautor hinweist, nicht blind vertrauen.

Das Minix FS selbst arbeitet zwar mit beliebigen Sektorgrößen; um Partitionen mit mehr als 64 MB zu verwalten, sollte aber ein geeigneter Plattentreiber, der auch 32-Bit-Sektornummern verwalten kann, eingesetzt werden. Soweit bekannt, funktioniert der Original-AHDI-Treiber dann nicht mehr, der von ICD mit Einschränkungen, aktuelle Versionen von HUSHI (SCSI-Tools) und HDDriver (aus dem Diskus-Paket) hingegen schon mit 32 Bit Sektornummern. Im Zweifelsfalle sollte man vorher beim Hersteller nachfragen. Und wie immer gilt: Wer regelmäßig Backups macht, ist klar im Vorteil - egal mit welchem Dateisystem.

Möglichkeiten

Neben den schon erwähnten längeren Dateinamen werden Links (Verweise) geboten, die mit einem einfachen Verzeichniseintrag eine Datei oder ein Verzeichnis an anderer Stelle, auch auf einer anderen Minix Partition, repräsentieren. Zugriffs-Flags zur Freigabe bzw. Sperrung von Lese- und Schreibzugriffen sowie zur Ausführbarkeit von Programmen gibt es ebenfalls, sie werden jedoch erst in einer Mehrbenutzerumgebung interessant oder wenn man einen weiteren Rechner als Terminal an seinem ATARI betreibt.

Dateinamen bis zu 62 Zeichen Länge, die beliebig viele Punkte enthalten können und Groß/Kleinschreibung unterscheiden sind möglich. Technisch sind maximal 65.535 Dateien je Partition erlaubt, was in der Praxis keinerlei Einschränkung darstellt. Eine Beschränkung bezüglich der Dateianzahl im Wurzel-Verzeichnis wie unter GEMDOS gibt es nicht.

Performance

Zu diesen auf dem ATARI erstmals zeitgemäßen Möglichkeiten kommt noch eine gegenüber dem GEMDOS-Datei System drastisch erhöhte Geschwindigkeit, die alleine den Einsatz bereits rechtfertigt (siehe Tabelle). Trotz wesentlich erweiterter Funktionalität ist das Minix-Dateisystem um mehrere Faktoren schneller als das des GEMDOS. Mit zunehmender Größe des Dateisystems wächst der Vorteil noch weiter an. Erst bei der Bearbeitung großer Dateien in kleinen Verzeichnissen liegen beide Systeme etwa gleichauf, da die Festplatte irgendwann zur geschwindigkeitsbestimmenden Komponente wird.

Der Verzicht auf einen write-Cache wirkt sich auf GEMDOS-Dateisysteme ebenfalls deutlicher aus. Dazu kommt noch, daß- das Minix-Dateisystem in der neuesten Version (pl5) bereits einen eigenen Cache mitbringt. Einzig das Einlesen von Verzeichnissen ist derzeit deutlich langsamer. da die Zusammenarbeit zwischen MiNT und TOS noch nicht optimiert ist. Mit neueren Versionen von MiNT dürfte sich dies von selbst erledigen. Nebenbei bewirkt die Reduzierung der physikalischen Zugriffe auf die Festplatte auch noch dessen Schonung. Abgesehen von etwa 80 KB RAM Verbrauch für den Treiber kann man über eine einfache Änderung im Quelltest noch zusätzlichen Puffer zur schnelleren Verarbeitung bereitstellen, was sich bei mir trotz etlicher 1000 Dateien aber nie als notwendig erwies.

Kompatibilität

Ebenso, wie MiNT bzw. MultiTOS sauber programmierte Software voraussetzen, dürfte auch die Verbreitung besserer Dateisysteme, wie diesem hier, zu einer Anpassung bestehender Software führen, hauptsächlich in Dialogen, die zur Auswahl oder Ein-/Ausgabe von Datei- oder Verzeichnisnamen dienen. Ein wichtiges Tool, „mfsfm“, ein Shareware-Dateiauswahldialog für MiNT, hat die Betatestphase inzwischen überstanden: nicht ganz so komfortabel wie andere Tools dieser Art, ist es dafür als einziges an die Möglichkeiten von MiNT, MultiTOS und das Minix-Dateisystem angepaßt und auch mit normalen GEMDOS-Dateisystemen unter MiNT lauffähig (s. Bild).

Eigene Programme können sich über die MiNT-Funktion Dpathconf über die Fähigkeiten der installierten Dateisysteme informieren (siehe Listing). Etliche Programme sind in der Lage, Dateien mit langen Namen zu laden und abzuspeichern, wenn man sie über die Kommandozeile übergibt. Aber auch in normalen GEM-Programmen, die nichts von MiNT und dem Minix FS wissen, braucht man sich nicht auf die üblichen GEMDOS-Dateinamen zu beschränken, denn ein Tool des Minix FS, „mfsconf", erlaubt verschiedene Einstellungen, die Kompatibilitätsprobleme fast völlig aus dem Wege räumen. Lange Dateinamen werden automatisch in kürzere „8+3“ Dateinamen übersetzt, so daß man sie beliebig in bestehenden Programmen auswählen kann. Art und Umfang der Konvertierung lassen sich dabei für jede Minix-Partition frei einstellen und sogar während des Betriebes ändern. Programme, die MiNT unterstützen und in der MiNT-Domain laufen, arbeiten natürlich mit den langen, case-sensitiven Dateinamen.

Auch TCache, ein sehr empfehlenswerter Write-Cache, funktioniert auf Minix-Partitionen bestens, da er auf einer anderen Betriebssystemebene arbeitet. Auf die meisten anderen Caches dürfte das gleichfalls zutreffen. Abraten hingegen muß man vom Cache des ICD-Treibers, da dieser an einigen Punkten nicht korrekt ausgelegt ist, was Datenverluste nach sich ziehen kann. Dies ist jedoch dokumentiert.

Marcus' Fileselector for MiNT (MFSFM) kommt auch mit langen Dateinamen zurecht.

Datensicherheit

Die aktuelle Version umfaßt nun ein „fsck“(file system check)-Programm, das bis zu einem gewissen Grad Fehler, z.B. durch einen Systemabsturz oder Stromausfall während eines Plattenzugriffs hervorgerufen, beheben kann, was somit den automatischen Verlust sämtlicher Daten vermeiden hilft. Dieses Programm befindet sich aber noch in einem Anfangsstadium und kann nicht alle Arten von Fehlern reparieren.

Zur Datensicherung auf Band genügt ein einfaches „tar“-Programm, das kostenlos z.B. in Mailboxen zu finden ist. Untauglich ist, allein wegen Problemen mit MiNT, JetStream. Die Archivierungsprogramme GEMAR und TapeBIOS machten bei kurzem Test jedoch eine bessere Figur.

Praxistauglichkeit

Wer keinen TT besitzt und so den Einsatz von MultiTOS wegen dessen geringer Geschwindigkeit scheut, sollte einfach nur MiNT benutzen, das keine nennenswerten Geschwindigkeitseinbußen gegenüber normalem TOS mit sich bringt. Dazu sind lediglich im AUTO-Ordner MINT.PRG in MINTNP.PRG umzubenennen und in der Datei MINT.CNF mit „INIT“ bzw. „GEM“ beginnende Zeilen zu entfernen.

Abgesehen von Programmen, die generell Schwierigkeiten mit MiNT haben, sowie natürlich der immer notwendigen GEMDOS-Boot-Partition, lohnt sich die Umstellung auf das Minix-Dateisystem für alle, die mit umfangreichen Verzeichnissen und Datenmengen umgehen und nicht auf GEM-gestützte Programmoberflächen zur Konfiguration angewiesen sind, auf jeden Fall und macht sich mit einem in der Praxis spürbar erhöhten Datendurchsatz bezahlt.

Desktops

Die Anpassung eines beliebten Desktops zur Unterstützung langer Dateinamen ist bereits im Gange. TreeView, das mit besagtem Desktop hervorragend harmoniert, wird derzeit angepaßt (s. Bild). Andere Desktops, auch das original ATARI-Desktop, operieren automatisch mit den in 8+3 Zeichen umgesetzten Dateinamen. Vollständige Unterstützung findet man auf jeden Fall in aus dem UNIX-Bereich portierten Shells, z.B. der tesh.

Zukünftiges

Sofern der Autor des Minix FS, dessen eigene Testmöglichkeiten recht bescheiden sind, nicht zuletzt von seiten ATARIs mit Unterstützung rechnen kann, sind Erweiterungen wie nochmals erhöhte Geschwindigkeit, ein GEM-gestütztes Konfigurationsprogramm sowie ein Optimierer geplant. Ein solches System, das hervorragend mit MiNT und MultiTOS harmoniert und dort bereits vorgesehene Möglichkeiten, die bei Verwendung des normalen GEMDOS-Dateisystems sonst lahmgelegt werden, ausnutzt, sollte Bestandteil des TOS werden, wie auch MiNT den Weg von „MiNT is not TOS“ zu „MiNT is now TOS“ gemacht hat. Spätestens dann jedenfalls, wenn MultiTOS stabil und schnell genug geworden ist, um ständig auf allen Rechnern einsetzbar zu sein. Außer natürlich, ein noch besseres Dateisystem auf BSD-Basis sollte einmal erscheinen.

Genau genommen gibt es für mich nur noch einen Grund, einmal ohne MiNT zu booten: Sysmon, den hervorragenden OS-Level-Monitor. Pure-Pascal Benutzer, die die integrierte Oberfläche nutzen, müssen ebenfalls auf MiNT und MultiTOS verzichten. Der Pure-C-Debugger kommt leider nicht mit Modulen auf Minix-Partitionen zurecht, vermutlich bloß wegen der eigenen Dateiauswahl. In solchen Fällen inkompatibler Software sollte man aber beim Hersteller derselben auf Abhilfe, die meist einfach zu erreichen ist, drängen.

Fazit

Lange habe ich keine derart nützliche Systemerweiterung, dazu noch kostenlos, gesehen. Wer ständig mit MiNT arbeitet, kommt an dem Minix-Dateisystem nicht vorbei. Wer MiNT noch nicht kennt, aber mit umfangreichen Datenmengen umgeht, sollte es sich jetzt ansehen. Nicht nur, aber eben auch wegen des Minix-Dateisystems.

Meßwerte für Standarddateioperationen: (für jeweils 500 Dateien. Angaben in Sekunden)

  (1) (2) (3) (4) (5) (6)
TOS 1.04 154 44 70 180 88 50
MiNT 258 96 78 234 140 102
Minix FS 52 12 28 60 30 14
TOS 1.04 150 46 54 178 64 50
MiNT 154 96 62 232 112 98
Minix FS 26 12 12 52 18 16

(1) Dateien im selben Verzeichnis erzeugen
(2) Dateien nacheinander öffnen und schließen
(3) Dateien löschen
(4) Dateien umbenennen
(5) Dateien mit je 1 KB Daten beschreiben
(6) Dateien mit je 1 KB Daten lesen

Referenzsystem:

Mega ST 16 MHz, MiNT 1.04. TOS 1.04, Minix FS 0.60pl5, Quantum-Festplatte, TCache 6.0

C:\Pfad:        128     Datei:     12
D:\Pfad:        128     Datei:     12
E:\Pfad:        128     Datei:     12
F:\Pfad: unbegrenzt     Datei:     30
G:\Pfad: unbegrenzt     Datei:     30
H:\Pfad: unbegrenzt     Datei:     30
I:\Pfad:        128     Datei:     12
J:\Pfad: unbegrenzt     Datei:     30
K:\Pfad: unbegrenzt     Datei:     30
L:\Pfad. unbegrenzt     Datei:     30
P:\Pfad:        128     Datei:     12
R:\Pfad:        128     Datei:     29
T:\Pfad:        128     Datei:     12
U:\Pfad:        128     Datei:     14
======================================
Maximum: unbegrenzt			       30

Ausgabe der Filesystem-Konfiguration, bei Laufwerk R: handelt es sich um eine dynamische RAM-Disk, T: ist ein Alias-Laufwerk, und V: gehört zu MiNT.

Bezugsquellen:
TCache von Ralf Biedermann sowie den Fileseiektor MFSFM von Marcus Haebler findet man vor allem in Mailboxen und auf ftp-Servern. Das gilt auch fiir das Minix-Dateisystem von Steven Henson selbst.

Minix-Dateisystem

Positiv:

Schnelligkeit
Funktionalität
hohe Kompatibilität
fsck [Reparatur]
Quelltexte enthalten
Freeware

Negativ:

kein Optimierer
kein undelete


Frank Baumgart
Aus: ST-Computer 10 / 1993, Seite 58

Links

Copyright-Bestimmungen: siehe Über diese Seite