"Warum behebt AmigaDOS keine Fehler ?"

Auf dem Amiga ist ein Programm mit dem Namen "Dateisystem" für die Kommunikation zwischen der DOS.library (dem Kern des AmigaDOS) und dem "Device-Treiber" verantwortlich. Der Device-Treiber übernimmt die hardwarenahen Funktionen der Laufwerkssteuerung. Es gibt viele verschiedene Arten von Laufwerken. Manche werden über high-level (i.a. logically mapped) Protokolle, wie das SCSI (Small Computer System Interface) oder das IDE (Integrated Drive Electronics) Protokoll angesteuert. Andere werden auf einem niedrigeren Level unterstützt, sie werden über Blöcke, Sektoren und Offsets adressiert. Wieder andere existieren nur als ein Bereich des Speichers (die RAM-Disk beispielsweise). Der Device-Treiber macht es möglich, daß jedes Laufwerk als eine lineare Reihe von Blöcken adressiert wird, und daß das Dateisystem nur diese Art des Zugriffs kennen muß.

Das Dateisystem ist in der Fehlersuche wirklich gut. Es verwaltet eine Bitmap der benutzten Laufwerksblöcke und ein Flag, das anzeigt, ob die Bitmap ok ist. Bevor das Dateisystem die Laufwerksstruktur ändert, erklärt es die Bitmap für ungültig. Wenn es dann die geforderten Änderungen durchgeführt hat, markiert es die Bitmap am Ende wieder als gültig. Wenn irgendein Fehler, egal welcher Art (hard oder soft), während einer Modifikation auftritt, wird die Bitmap noch als ungültig gesetzt sein, wenn das Dateisystem das nächste Mal gestartet wird.

Das Dateisystem benützt diese Bitmap als Voraussetzung für eine Routine, die Disk-Validator genannt wird. Wenn AmigaDOS diese auf einer Ihrer "Partitionen" laufen läßt, wird der Info Befehl für diese "Validating" anzeigen. Während des Validierungsprozesses überprüft das Dateisystem jedes Objekt, das es erreichen kann, indem es vom Root Block des Volumes aus durch die Laufwerksstruktur geht. Solange hier keine defekten Blöcke gefundenwerden, kann eine neue Bitmap aufgebaut werden. Wenn ein defekter Block gefunden wird, werden keine weiteren Zugriffe auf diesen Block erlaubt, bis das Problem gelöst ist.

In den meisten Fällen kann das Dateisystem jedoch das Problem nicht lösen, so daß es dann am einfachsten ist, im Falle eines kleinen Defekts das Volume als read-only - also für Schreibzugriffe gesperrt - oder NDOS ("not understood by AmigaDOS") zu setzen, wenn das Volume für AmigaDOS ohne jeden Sinn ist. Es ist dem Dateisystem nicht möglich viel mehr zu unternehmen. Es wäre natürlich denkbar dem Dateisystem die Fähigkeiten von DiskSalv oder anderen Reparaturprogrammen zu geben, aber dazu besteht kein Anlaß. Es ist kein Vorteil, wenn raffinierte Reparaturfunktionen in das Dateisystem eingebunden werden. Ein Nachteil wäre unter anderem die Größe: das Dateisystem ist ungefähr 25K groß, während DiskSalv 2 zur Zeit fast 120K auf die Waage bringt und sich DiskSalv 4 über der 200 Kilobytemarke liegt. Sogar ohne eine komplette GUI und in Maschinensprache effizient programmiert, wäre dies eine Speicherverschwendung.

Die meisten Betriebssysteme besitzen irgendein Laufwerksreparaturprogramm, obwohl diese meist sehr primitiv sind. Ein Programm namens "DiskDoctor" war früher im AmigaOS Lieferumfang enthalten, es hatte leider eine Reihe von Fehlern und war nicht sehr vertrauenswürdig.