Teil 4 ergänzt das Diskettensystem um ein entsprechendes Programm. ln dieser Folge finden Sie zwei Anwendungsprogramme zum SYSTEM.MC-Programm, die ganz eng zusammengehören. Das erste dient der Optimierung von Disketten; das zweite prüft, ob dies geschehen ist. Erforderlich sind dazu das SYSTEM.MC-Programm aus Heft 6 und die beiden Menüprogramme von Ausgabe 7. Andere aus diesem Kurs müssen nicht unbedingt vorhanden sein, um die in dieser Folge abgedruckten zu betreiben. Selbstverständlich laufen beide Programme auf allen Schneider-Rechnern (bis auf den Joyce). Eine Floppy ist allerdings zwingende Voraussetzung. Leider kann nur die von Schneider und nicht die von vortex eingesetzt werden. Das Optimierungsprograrrjm Bei häufiger Arbeit mit einer Diskette werden oft Files gelöscht, oft welche geschrieben. Beim Löschen werden Blöcke und Directory-Einträge frei. Beim Schreiben sucht der Rechner die ersten unbelegten Blöcke auf Diskette. Oft findet er aber nur zwei freie hintereinander, so daß bei längeren abzuspeichernden Programmen eine ziemlich kunfuse Blockaufteilung zustande kommt, z.B. Block 4, 5, 6, 12,13,27,40,41,53,54,55. Eingeweihte wissen, was dies bedeutet. Da die Blöcke weit auseinander liegen, muß der Kopf viel auf der Diskette herumfahren. Das erhöht nicht nur den Verschleiß des Laufwerks, sondern vor allem die Ladezeit. Genau an dieser Steile setzt das Optimierungsprogramm ein. Was tut es nun genau? Zunächst strafft es das Inhaltsverzeichnis, d.h., alle gelöschten Files werden entfernt und sämtliche nicht gelöschten hintereinander am Anfang der Directory angeordnet. Der Rest des Inhaltsverzeichnisses wird mit 229 angefüllt. Dies ist nach dem Formatieren der Standardwert auf der Diskette. Nun kommen die Namen in eine alphabetische Reihenfolge. Dabei wird auch darauf geachtet, daß der erste Eintrag eines Files vor dem zweiten steht, usw. Danach erfolgt eine Neuverteilung der Blöcke, und zwar immer schön der Reihe nach, so daß später beim Laden möglichst wenige Spurwechsel notwendig sind. Gleichzeitig erhält eine Übersetzungstabelle Einträge, welchen alten nun welche neuen zugeordet sind. Anschließlich werden die Directory und die veränderten Blöcke auf eine freie Diskette kopiert. Welche Vorteile bietet das Optimieren? Gehen wir einmal Schritt für Schritt vor. Das Straffen des Inhaltsverzeichnisses ist wichtig für das Sortieren. Außerdem ist dieses dann "aufgeräumter”, für den Fall, daß man es sich später in einem "Dirdoktor” anschauen will. Das gilt auch für das Sortieren nach Namen, das aber noch einige andere gute Gründe hat. Da mehrere Teile des gleichen Programms so gut wie immer ähnliche Bezeichnungen tragen, die mit den gleichen Buchstaben beginnen, stehen diese auch in der Directory hintereinander. Dadurch werden einem Programm Blöcke in einem Bereich der Diskette zugeteilt, was die Spurwechsel ebenfalls reduziert. Ferner erscheinen die Files eines Programms, z.B. bei "Filecopy” u.ä., immer nacheinander und nicht in wirrer Unordnung. Daß die Neuverteilung von Blöcken enorme Vorteile bringt, dürfte wohl klar sein. Eintippen Geben Sie Listing 1 ein und speichern Sie es mit SAVE "OPTIMIER.SYS” auf Ihrer Systemdiskette ab. Die REM-Statements können, müssen aber nicht unbedingt übernommen werden. Anschließend tippen Sie Listing 2 ein und starten es mit RUN. Eshandelt sich hieraus Schnelligkeitsgründen um ein Maschinenprogramm, das die Optimierung durchführt. Nach RUN überprüft der Rechner die Richtigkeit der DATA-Zeilen. Taucht ein Fehler auf, editieren und verbessern Sie die entsprechende Zeile und starten das Programm erneut. Wenn Sie den Fehler nicht finden, gibt es dafür folgende Erklärungen: - Sie haben-ihn übersehen. Dies kann auch bei mehrmaligem Durchlesen passieren. Achten Sie auf leicht verwechselbare Buchstaben wie 0 und O.
- Sie haben eine Zeile vergessen, so daß sich die Numerierung der Zeilen verschiebt und die angezeigte gar nicht die fehlerhafte ist. In diesem Fall fügen Sie die fehlende Zeile ein und starten erneut mit RUN, damit die wirklich fehlerhafte erscheint.
- Die Fehlermeldung TYPE MISMATCH taucht dann auf, wenn Sie in einer Zeile eine nicht hexadezimale Ziffer verwendet haben. Hexadezimal sind die Ziffern von 0 bis 9 und von A bis F. Um die Nummer der fehlerhaften Datenzeile zu erfahren, tippen Sie PRINTze. (Bedenken Sie dabei auch Punkt 2.)
Läuft nun alles fehlerfrei, speichern Sie das entstandene Maschinenprogramm mit SAVE "OPTIMIER.MC”, b, 41500,300 auf Ihrer Systemdiskette ab.Bedienung Legen Sie Ihre Systemdiskette ein und starten das Programm mit RUN "OPTIMIER.SYS". Nun ist anzugeben, in welchem Laufwerk sich die zu optimierende Diskette befindet und in welchem die freie, auf der die optimierte Version abgelegt werden soll. Wer nur eine Floppy besitzt, wird an gegebener Stelle zum Diskettenwechsel aufgefordert. Wählen Sie Laufwerk B, obwohl dieses nicht vorhanden ist, erscheint beim Versuch, von diesem zu lesen, die Fehlermeldung "DRIVE B: Disc is missing”. Drücken Sie nun C und dann ganz schnell zweimal ESC, um das Programm abzubrechen. Mit GOTO 1080 läßt es sich wieder starten. Bei Betätigung von X wird der Optimierungsvorgang abgebrochen. Es folgt die Frage, ob Sie erneut optimieren möchten. Ansonsten ist das Format von Quell- und Zieldiskette anzugeben. Dies kann auch verschieden sein. Beachten sollten Sie aber folgendes: Liegt Ihre Quelldiskette im Datenformat vor und Ihre Zieldiskette im CP/M-Format, kann es sein, daß nicht alle Files der Daten- auf die CP/M-Diskette passen, denn dort stehen 9 KByte weniger Speicherplatz zur Verfügung. Eine entsprechende Mitteilung erscheint aber an entsprechender Stelle. Wählen Sie ein falsches Format, wird die Fehlermeldung ”READ FAILED” ausgegeben. Drücken Sie dann C und zweimal ESC, um die Bearbeitung abzubrechen. Nun folgt die Aufforderung, die Quelldiskette einzulegen und eine Taste zu drücken. Danach wird das Inhaltsverzeichnis eingelesen und optimiert. Anschließend ist die Zieldiskette einzuschieben, damit man die optimierte Directory wieder abspeichern kann. Dann teilt der Rechner mit, wie viele Blöcke von der Quell- auf die Zieldiskette kopiert werden sollen. Nun folgt die Aufforderung, wieder die Queildiskette einzulegen, um das Einlesen der Blöcke zu ermöglichen. Dabei wird immer die Nummer des gerade eingelesenen Blocks ausgegeben. Nach Einschieben der Zieldiskette werden die Blöcke an einer veränderten Position abgespeichert, da sie nach der Optimierung an anderen Stellen liegen. Das ist auch der Grund für das Kopieren. Nun müssen Sie eventuell noch mehrmals die Diskette wechseln, je nachdem, wie voll Ihre war. Anschließend folgt die Frage, ob Sie erneut eine Diskette optimieren wollen. Ist das nicht der Fall, drücken Sie N. Sie dürfen das Programm dann aber nicht mehr mit GOTO 1080 starten, sondern nur noch mit RUN (vorher Systemdiskette einlegen). Beim Optimieren, aber auch beim Arbeiten mit anderen Programmen dieser Serie, ist folgendes zu beachten: - Von der optimierten Directory werden alle überflüssigen Einträge entfernt, so daß sich versehentlich gelöschte Files auf keinen Fall mit UNERA wieder aktivieren lassen.
- Kopieren Sie immer konzentriert! Sollten Sie versehentlich eine falsche Diskette einlegen, kann es zum Überspielen so wichtiger Informationen kommen, daß alle oder zumindest einige Files zerstört werden.
- Drücken Sie nicht gëlangweilt auf der Tastatur herum, denn sonst wird beim nächsten Diskettenwechsel nicht gewartet, sondern ohne diesen Wechsel weiterkopiert. Die Folgen sind aus dem vorherigen Punkt ersichtlich.
- Arbeiten Sie immer (!) zuerst mit einer Backup-Kopie einer Diskette. So können Sie die Bedienung des Programms ohne Angst erlernen und ausprobieren, ob es überhaupt richtig funktioniert.
Insgesamt bringt das Optimierungsprogramm deutliche Geschwindigkeitsvorteile. Es ist mehr als nur eine starke Konkurrenz zu "Diskcopy", da es beim Kopieren noch optimiert, nur die belegten Blöcke kopiert und dies außerdem mit verschiedenen Formaten tut. Sie könnten beispielsweise Ihre im CP/M-Format vorliegenden Disketten optimieren und im Datenformat ablegen, da nur CP/M-Programme wie "Wordstar" und "Turbo-Pascal” CP/M benötigen. Dadurch gewinnen Sie 9 KByte anSpeicherplatz, der sich z.B. zur Einrichtung eines Menüs zum Laden der Programme benutzen läßt. In der nächsten Ausgabe folgt ein Programm zur Menüprogrammerstellung innerhalb dieser Serie.Das Optimierungstestprogramm Was dieses Programm leistet, sagt schon sein Name. Es prüft, ob eine Diskette optimiert ist oder nicht. Geben Sie nur Listing 3 ein und speichern Sie es mit SAVE”OPTITEST.SYS” auf Ihrer Systemdiskette ab. Bevor man Disketten optimiert, möchte man natürlich gerne wissen, ob sie es nicht bereits sind, so daß der erneute Optimierungsvorgang entfallen kann. Dazu dient dieses Programm. Die Directory wird auf Straffung und Blockverteilung geprüft. Die alphabetische Reihenfolge findet dabei keine Berücksichtigung, damit eine Diskette nicht gleich umoptimiert wird, wenn man einfach nur ein File dazuspeichert. Die Blockverteilung ist dann ja richtig und die Directory gestrafft. Nur die Reihenfolge stimmt meist nicht mehr. Das allein ist aber wohl kein Grund zur nochmaligen Optimierung. Laden Sie das Programm mit RUN "OPTITEST.SYS” von der Systemdiskette. Danach folgt die Frage, auf welchem Laufwerk Sie den Optimierungstest durchführen wollen. Mit X gelangen Sie zum Ende des Tests. Ansonsten selektieren Sie A oder B. Nun ist das Format dieser Diskette anzugeben. Nach der Wahl wird dies zur Bestätigung noch einmal ausgedruckt. Beachten Sie aber die Ausführungen zur Laufwerks- und Formatwahl. Nach Einlegen der Diskette wird das Inhaltsverzeichnis geladen, und der Optimierungstest beginnt. Das Ergebnis wird kurze Zeit später ausgedruckt und die Prüfung für beendet erklärt. Danach können Sie wählen, ob Sie erneut einen Test durchführen oder die Bearbeitung des Programms abbrechen wollen. Andreas Zallmann , CPC Magazin
|