home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 1
/
crawlyvol1.bin
/
utility
/
disk
/
medspeed
/
lesetest.hlp
next >
Wrap
Text File
|
1985-11-18
|
26KB
|
494 lines
--------------------- Dokumentation zu LESETEST.PRG -----------------------
Das hier vorliegende Programm Lesetest entstand aus der Notwendigkeit, die
verschiedensten Diskettenformate auf ihre Ladetüchtigkeit, d.h. ihre Schnel
ligkeit hin untersuchen zu können. Als Co-Autor von Hyperformat [5] war ich
von jeher darum bemüht, die Formatierungen von Disketten zu optimieren,
damit der Endverbraucher einen auch für sein System optimalen Diskettenzu-
griff bekommt. Besonders wichtig in diesem Zusammenhang erscheint mir die
Tatsache, daß viele Originalbetriebssysteme dahingehend verändert wurden,
daß ein Byte geändert wurde; dies führt zu kürzeren Ladezeiten beim
Diskettenlesen, bringt aber manchmal Probleme mit sich, auf die ich in
Veröffentlichungen [1] schon hingewiesen habe.
Nun aber zur
** Bedienung des Programms **
-----------------------------
Das Programm erlaubt Ihnen nach einer kurzen Copyrightmeldung die Bestimmung
eines Laufwerks (Floppy A/B, Festplatte, Ramdisk,...), von woher im Anschluß
eine bestimmte Datenmenge in den Speicher Ihres ST geladen wird. Bei
Disketten werden stets 40 Tracks geladen, bei allen anderen Medien ist die
Lademenge einzig durch die Größe Ihres Arbeitsspeichers begrenzt. In dem nun
sichtbaren Fenster sehen Sie: Die Laufwerksbezeichnung, die Anzahl der Sek-
toren, die daraus resultierende Gesamtkapazität, Anzahl der Spuren, Anzahl
der Sektoren pro Spur ( wenn nicht feststellbar: *** ) und die Kapazität des
noch freien Arbeitsspeichers. Nach dem Ladevorgang erhalten Sie die Geschwin-
digkeit des Ladevorgangs in kB/sec. und die dazu benötigte Zeit. Bei Disket-
ten werden zusätzliche Hinweise auf die Art der Formatierung ausgegeben.
Mit einem Tastendruck können Sie weitere Laufwerke selektieren. Das FULLER-
Feld rechts-oben sowie die rechte Maustaste blenden einen Copyrighthinweis
ein, ESCAPE oder das CLOSE-Feld links oben gestatten das Programm ganz zu
verlassen.
** Sonstiges **
---------------
Das Interessante an LESETEST ist, daß die damit ermittelten Daten für
Disketten sehr gut mit den errechneten Werten übereinstimmt und sogar der
Interleave und der Spiralfaktor der geprüften Diskette ausgegeben werden.
Das hat bislang noch kein Programm bewerkstelligt ! Ein kleines Beispiel:
Sie messen eine im Desktop formatierte Diskette. Diese werden in allen TOS-
Versionen mit 9 Sektoren pro Track formatiert, ab TOS 1.02 aber mit einem
Spiralfaktor von 2 (siehe[1]). Die gemessenene Geschwindigkeit beträgt etwa
18,4 kB/Sekunde und stellt einen Maximalwert dar, der nur dann auch in der
Praxis erreicht wird, wenn die zu ladende Datei tatsächlich in einem Block
ohne Fragmente geladen werden kann.
Natürlich kann man diesen Wert auch rechnerisch ermitteln:
allgemein: Sektoren pro Track * Sektoren pro Track * 2,5
----------------------------------------------
Sektoren pro Track * Interleave + Spiralfaktor
hier: 9*9*2,5
-------
9*1+2 --> 18,49 kB/Sec
Wie Sie sehen, stehen der Interleave (bei Atari=1) und der Spiralfaktor
beide im Nenner des Ausdrucks, der die Ladegeschwindigkeit bestimmt.
Also machen wir doch einfach den Spiralfaktor kleiner, z.B. auf 0, dann
erreichen wir .... 22,5 kB/Sekunde !?
Fast ! Denn dann läuft die Diskette viel langsamer, weil der Floppycontrol-
ler die Spurinformation einlesen muß und einfach die Nutzdaten überliest.
Also gibts eine Extrarunde - und die kostet Zeit.
Es gibt nun aber eine Trick, die Diskette trotzdem schneller laufen
zu lassen, indem man zusätzliche Informationen in die Spur hineinformatiert.
Darum brauchen Sie sich aber nicht zu kümmern, das erledigt alles FCOPYPRO
für Sie. Für tiefergehende Betrachtungen verweise ich auf [1].
** Verträglichkeit, Features **
-------------------------------
Sie können das Programm (durch einfaches Umbenennen) auch als .ACC starten,
allerdings habe ich keine großen Anstrengungen unternommen, um das Redraw
sauber zu machen. Eine Unverträglichkeit zeigt sich allerdings, wenn das
CHAMELEON.ACC [3] im Speicher ist; der Grund ist mir bis dato unbekannt.
Vermeiden Sie aber bitte im ACC-Modus das Starten von Programmen, denn das
klappt noch nicht so ganz. Entweder ist es mein Compiler, der da Mist baut,
oder bei mir hat sich ein Bug eingeschlichen. (wahrscheinlich letzteres)
Kaum Probleme hingegen gibts, wenn LESETEST.AC von CHAMELEON.ACC nachgela-
den wird.
Es sollte eigentlich auch Großbildschirm und TT-tauglich sein, läuft
zumindest auf BIGSCREEN [2] von Julian Reschke.
Alle verfügbaren Ramdisks konnten geprüft werden, sogar LUFTSCHLOSS [4] von der
Kleisterscheibe. Die maximalen Lesegeschwindigkeiten auf meinem Serien-ST
liegen bei etwa 1875 kB/Sekunde (Ramdisk) und bei 645 kB/Sekunde (Megafile
60 mit ST277R) (( aber mit leicht modifiziertem Treiber.. hihi ))
** Verweise **
--------------
[1] Wie schnell sind Disketten zu laden ( Autor: J.Stessun)
erschienen in ST-Computer 12/1989 (leider mit vielen Fehlern!)
[2] Bigscreen - ein Programm von Julian Reschke, das einen Großbildschirm
auf einem normalen ST simuliert.
[3] Chameleon - ein Accessory von Karsten Isakovic, gestattet das Nachladen
und Löschen von ACCs in/aus dem Speicher.
[4] Luftschloß - schnelle Ramdisk auf der Disk zum Buch Scheibenkleister 2
Maxon Verlag, Autoren: Claus Brod und Anton Stepper.
[5] Hyperformat - Formatierprogramm, ebenfalls aus Scheibenkleister
Maxon Verlag, Autoren: Claus Brod und Jürgen Stessun
** Der Artikel aus ST-Computer 12/1989 [1] **
Wie schnell sind Disketten zu laden ?
-------------------------------------
Sicherlich ist dies in starkem Maße abhängig von der Qualität der
benutzten Disketten und Laufwerke, ihrer Drehzahl und Steprate; aber
fällt Ihnen aus dem Stegreif noch mehr dazu ein ?
Schon häufiger war in Zeitschriften über den 'optimalen Interleave' zu
lesen, bislang handelte es sich jedoch immer um Festplatten. Da nicht
jeder ST-Benutzer ein solches Speichermedium sein eigen nennt, außerdem
die Atari Festplatten lange nicht so optimierungsbedürftig sind wie
beispielsweise Platten für PCs und Kompatibele (hihi..), habe ich eine
lange Versuchsreihe mit Disketten angestellt; auch dort wirkt sich
nämlich die Art der Formatierung in starkem Maße auf die Geschwindigkeit
beim Laden und Speichern aus. Um optimale Übertragungseigenschaften zu
erreichen, machte ich Gebrauch von allen mir bekannten Möglichkeiten zur
Formatierung. Die in manchen Punkten recht interessanten Meßergebnisse
basieren auf Messungen am Atari ST mit seinen standardmäßigen 3 1/2 Zoll
Laufwerken, die daraus gefolgerten Ergebnisse haben jedoch
grundsätzliche Gültigkeit.
Besondere Rücksicht wurde auf den Umstand genommen, daß nicht alle ST-
Benutzer ein sog. FASTLOAD (s. Begriffserl.) eingebaut haben, denn
gerade auf solchen Systemen kann man durch clevere Formatierung eine
Beschleunigung des Datentransfers erreichen. Zum Formatieren wurde
Hyperformat benutzt, ein kurzes GFA-Basic Programm ermittelte die
Ladezeiten der Disketten; bei allen Diskettenoperationen wurde die
Standard-Steprate von 3 ms benutzt.
Die größte Ladegeschwindigkeit einer Diskette mit 512 Byte-Sektoren in
Laufwerken mit 300 UPM kann nach folgender Formel berechnet werden:
Speed = SPT*SPT*2,5 Speed=kB/Sek. SPT=Sektoren pro Track
-----------
SPT*IL+SPIR ü IL=Interleave SPIR=Spiralfaktor
Formel 1
Die Konstante 2,5 ergibt sich aus dem Produkt von Sektorlänge in kB und
der Zahl der Umdrehungen pro Sekunde und muß für andere Laufwerke und
Sektorlängen entsprechend angepaßt werden.
Die maximale Ladegeschwindigkeit einer 9-Sektor-Diskette mit Interleave
1 und Spiralfaktor 0 ist demnach:
9*9*2,5 = 22,5 kB pro Sekunde
-------
9*1+0
Die Richtigkeit dieser Formel sollten Messungen bestätigen, hier zuerst
die Ergebnisse mit Fastload:
SPT IL SPIR Speed SPT IL SPIR Speed SPT IL SPIR Speed
------------------------------------------------------------------------
9 1 0 22,48 10 1 0 25,01 11 2 0 13,75
9 1 1 20,24 10 1 1 22,72 11 2 1 13,15
9 1 2 18,41 10 1 2 20,83 11 2 2 12,61
9 1 3 16,87 10 1 3 19,23 11 2 3 12,12
9 1 4 15,57 10 1 4 17,85 11 2 4 11,64
Tabelle 1: Ladegeschw. mit Fastload
Wie zu erwarten war, fällt die Ladegeschwindigkeit mit steigendem
Spiralfaktor stetig ab. Für 11 Sektoren muß sogar mit Interleave 2
gearbeitet werden, da die Sektoren so eng beieinander liegen, daß sie
nicht mehr in einem Rutsch gelesen werden können.
(Interleave 2 bei 11 Sektoren = Interleave-Faktor 6 , s. Erläut.)
Wie sieht's denn aus, wenn man diese Disketten ohne Fastload einlädt ?
Bitteschön, hier die Ergebnisse:
SPT IL SPIR Speed SPT IL SPIR Speed SPT IL SPIR Speed
------------------------------------------------------------------------
9 1 0 11,31 10 1 0 12,56 11 2 0 9,21
9 1 1 11,28 10 1 1 11,96 11 2 1 8,95
9 1 2 18,39 10 1 2 20,79 11 2 2 12,62
9 1 3 16,87 10 1 3 19,23 11 2 3 12,10
9 1 4 15,57 10 1 4 17,85 11 2 4 11,63
Tabelle 2: Ladegeschw. ohne Fastload
Plötzlich findet sich ein Maximum der Übertragungsrate bei einem
Spiralfaktor von 2, warum aber nicht beim Spiralfaktor 0 ?
Formen wir die Formel 1 zur Geschwindigkeitsermittlung so um, daß ihr
Nenner auf einer Seite steht, dann erhalten wir im Falle von 9 Sektoren,
IL 1 und Spir 0:
SPT*SPT*2,5 9*9*2,5
----------- = SPT*IL+SPIR ------- = 17,90
Speed 11,31
Formel 2
Die Geschwindigkeit ist geringer als das errechnete Maximum, die
Diskette hat also mehr Umdrehungen ausgeführt. Wie auch den
Erläuterungen zu entnehmen ist, ist gerade der INTERLEAVE ein Maß dafür,
wieviele Umdrehungen die Disk machen muß, damit alle Sektoren der Spur
eingelesen werden können.
Setzen wir auf der rechten Seite der Formel 2 für SPT die 9 und für SPIR
die 1 ein, dann ist die Gleichung für IL=2 erfüllt.
Wie Sie sehen, wirkt sich der formatierte Interleave von 1 in der Praxis
so aus, als sei die Diskette mit Interleave 2 formatiert worden !
Je nach Geschmack kann man die Gleichung aber auch nach SPIR auflösen,
wenn man IL mit 1 beläßt. Es ergibt sich dann ein effektiver
Spiralfaktor von 9 (statt des formatierten Spiralfaktors von 0), was bei
9 Sektoren pro Track nichts anderes als eine Extraumdrehung bedeutet.
(Die Ungenauigkeiten in den Nachkommastellen rühren daher, daß beim
Lesen mehrerer Spuren nicht die gesamte letzte Spur gelesen werden muß,
um die letzten 9 Sektoren zu erfassen, sondern nur die ersten ca. 90 %).
Was besagt aber nun diese Rechnung:
Ohne Fastload kann bei diesem Format eine Spur nur in 2 Umdrehungen
komplett eingelesen werden. Das liegt eben daran, daß in Systemen ohne
FASTLOAD nach einem Spurwechsel und einer Pause von 15 ms zur Beruhigung
des Kopfes erst noch die neue Spurnummer verifiziert werden muß, und
diese befindet sich gerade vor dem Sektor, der eigentlich als nächster
hätte gelesen werden sollen; also: eine Runde Pause, macht 200 ms.
Wenn Ihr Lese(r)kopf nun schon qualmt, dann gönnen Sie sich erst auch
mal 'ne Pause und lesen danach die Erläuterungen zu den wichtigsten,
hier gebrauchten Ausdrücken!
Atari nimmt die Spirale
------------------------
Auch die Atari-Entwickler haben festgestellt, daß die unter TOS 1.0
formatierten Disketten - Spiralfaktor 0 - im Originalbetriebssystem ohne
Fastload nur im Schneckentempo zu laden sind, ganz zu schweigen vom
Abspeichern, was durch das Verifizieren der gerade geschriebenen Daten
doppelt so viel Zeit beansprucht. Seit TOS-Version 1.02 (Blittertos) wird
daher aus dem Desktop nur noch mit Spiralfaktor 2 formatiert, in einer
der neuen, inoffiziellen 1.04 Versionen sogar die Vorderseite mit
Spiralfaktor 3 und die Rückseite mit Spiralfaktor 2. Die unter dieser
TOS-Version formatierten Disketten sind daher noch etwas langsamer als
solche von TOS 1.02. Ihre Ladegeschwindigkeit liegt bei 9-Sektor-
Disketten etwa bei 17,62 kB/Sekunde. Mit Formel 2 errechnet man hierbei
einen effektiven Spiralfaktor von 2,5.
Aber keine Angst, in der brandneuen 1.04er Version vom 6.4.1989 benutzt
man wieder den Spiralfaktor 2 auf beiden Seiten und erreicht damit
18,39 kB/Sek.
Wir haben nun schon die erste Möglichkeit kennengelernt, um Disketten
ohne Fastload etwas schneller zu machen - die Spiralisierung. Sie wird
nur indirekt von der Formatier-Routine des Xbios unterstützt; man kann
seit TOS-Version 1.02 einen Zeiger auf die selbstkonstruierte Tabelle der
Sektornummern übergeben.
Hinzu kommt das Interleaving, was von allen TOS-Versionen unterstützt
wird; wo es jedoch erst wichtig wird, nämlich bei 11-Sektor-Disketten,
da macht TOS nicht mehr mit und verschwendet den Platz für den 11.
Sektor in den anderen Sektorzwischenräumen. Maximal 10 Sektoren passen
daher auf 'Desktop-formatierte' Disketten.
Mit Köpfchen gehts besser
-------------------------
Es gibt aber noch den 'zusätzlichen Header', der (wahrscheinlich
ungewollt) sogar mit einem kleinen Trick unter TOS erzeugt werden kann.
Wenn Sie sich die Sektorfolgen ansehen, die das abgebildete GFA-Basic
Programm generiert, können Sie erkennen, daß bei einer 9-Sektor-Diskette
und Interleave-Faktor 11 genau 11 Sektoren erzeugt werden. Zwar ist der
11. Sektor um seinen Dateninhalt beschnitten, der wichtige
Sektorvorspann - der Header - ist aber allemale noch mit drauf auf der
Spur. Lädt man eine solche Diskette ohne Fastload ein, ergibt sich - oh
Wunder - eine Lesegeschwindigkeit von 22,49 kB/Sekunde, also genauso
schnell wie mit Fastload. Schuld daran ist nur der Header des 11.
Sektors, der genau dann zur Stelle ist, wenn der Floppycontroller die
aktuelle Spur verifizieren will. Bei 10 Sektoren und Interleave 11
klappt das nicht mehr, weil der Kopf auf der alten Spur noch den 10.
Sektor lesen muß und gerade dann in die nächste Spur hochfährt, wenn der
Header des 11. Sektors unter ihm vorbeirauscht. Moral von der Geschicht':
Extrarunde !
Wo sollte der zusätzliche Header stehen ?
-----------------------------------------
Welche Schlüsse kann man daraus ziehen ? Der zusätzliche Header sollte
so dicht wie eben möglich vor dem ersten auf der neuen Spur zu ladenden
Sektor stehen; und das ist eben der Sektor Numero 1. Versuche ergaben,
daß das Ende dieses zusätzlichen Headers mindestens 10 Bytes vor dem
Anfang des Sektorvorspanns vom 1. Sektor liegen muß, da sonst der 1.
Sektor überlesen wird.
Als 'dicht' kann man auch das Ende des Tracks bezeichnen, wenn zuvor der
Sektor mit der höchsten Nummer residiert. Von dieser Lösung machen viele
Kopier- und Formatierprogramme Gebrauch.
Zunehemend an Beliebtheit gewonnen hat die 10-Sektor-Diskette, viele
Public-Domain Disketten sind derart formatiert. 25 kB/Sek. mit und 20,79
kB/Sek. Ladegeschwindigkeit ohne Fastload tragen mit dazu bei. Ohne
Fastload klappt das aber nur beim Spiralfaktor 2 (siehe Tabelle 2). Und
dieser Faktor 2 ließ mich noch eine Steigerung der Geschwindigkeit
vermuten....
Rekordverdächtig: 10-Sektor-Disketten ohne Fastload
---------------------------------------------------
Tatsächlich ist es mir gelungen ein 10-Sektor-Format zu generieren, das
bisherige Formate in puncto Geschwindigkeit schlägt. Dabei wurden die 10
Sektoren eines Tracks mit Interleave 1 und Spiralfaktor 1 auf eine
einseitige Diskette formatiert, insbesondere aber vor jedem Sektor mit
der Nummer 1 ein zusätzlicher Header geschrieben. Da nach dem Lesen des
letzten Sektors (Nummer 10) der Lesekopf einen Schritt nach innen fährt,
versucht das System ohne Fastload erst einmal die Spurnummer
festzustellen. Der Spiralfaktor von eins sorgt nun dafür, daß der Kopf
etwa am Ende des 10. Sektors der neuen Spur landet. Er findet sodann den
zusätzlichen Header, der das Bedürfnis des Betriebssystems nach
Trackverify erfolgreich befriedigt. Sofort nach dem Header kann dann mit
dem Lesen des 1. Sektors der neuen Spur begonnen werden. Die so
erreichbaren Ladegeschwindigkeiten bewegen sich um die 22,7 kB/Sek. und
stellen für Betriebssysteme ohne Fastload den absoluten Spitzenwert dar.
Die schnellsten 10er Disketten konnten bisher mit 20,79 kB/Sek. geladen
werden (siehe Tabelle); Steigerung: 9,2%. Leider existiert meines
Wissens nach (bisher!) kein Formatierprogramm, das automatisch auch bei
spiralisierten Disketten den zusätzlichen Header mit-spiralisiert.
Die erste derartige Diskette erzeugte ich in 'Handarbeit', inzwischen
kanns aber auch mein 'Formatierer'.
Und wie schnell sind Hyper-Density Disketten ?
----------------------------------------------
Das sind solche Disketten, die mit höherer Datenrate formatiert wurden
- siehe ST Computer 7/8-89 - und dadurch bis zu 1,2 MB Datenkapazität
vertragen. Aber sie sind auch noch mit Abstand die schnellsten; hier die
Ladegeschwindigkeiten, links mit Fastload, rechts ohne Fastload, aber
mit den Ihnen nun bekannten Mitteln optimiert:
SPT IL SPIR Speed SPT IL SPIR Speed
------------------------------------------------------------
11 1 0 27,51 11 1 0 27,50
12 1 0 30,02 12 1 0 29,87 !
13 1 0 32,49 13 1 1 30,16 !
14 2 0 17,49
Tabelle 3: Hyper-Density Disketten
Weniger ist manchmal mehr
-------------------------
Nur bedingt kann man die schnellste Formatierung auch als die optimale
bezeichnen, speziell bei eingebautem Fastload. Besonders bei den
schnellen 10er Disketten (IL 1,SPIR 0) und den 13er Hyper-Density
Disketten (IL 1,SPIR 0) entstehen beim Schreiben auf einigen Laufwerken
(auch auf meiner SF314) gelegentlich Fehler. Schuld daran ist das
Schwingverhalten des Schreib/Lesekopfes, der bei einem
Spiralfaktor von 0 praktisch keine Beruhigungszeit mehr hat. Ein
sicheres Zeichen dafür sind fehlerhafte Sektoren mit Nummer 1. Deswegen
rate ich bei 10er und 13er Disketten auf den Spiralfaktor 1
auszuweichen, weil damit dem Kopf eine Sektorlänge mehr Zeit gegeben
wird. Die Geschwindigkeitseinbuße hält sich dabei in Grenzen (etwa 6-
9%). Dies scheint wohl auch der Hauptgrund dafür zu sein, weswegen die
Atari-Entwickler im Desktop mit Spiralfaktor 2 formatieren, werden doch
die verschiedensten Laufwerke für den ST angeboten.
Ein nützlicher Nebeneffekt ist die Tatsache, daß 5 1/4 Zoll
Laufwerke bei 6 ms Steprate und Spiralfaktor 1 in den meisten Fällen
gleiche Lesegeschwindigkeiten erreichen wie ihre kleinen 3 1/2 Zoll
Pendants.
Begriffserläuterungen
=====================
Ich weiß, viele Leser haben sie nicht mehr nötig, aber im Interesse
aller anderen mögen Sie mir die Wiederholung der Erläuterung verzeihen !
Fastload, Trackverify:
----------------------
Alle originalen, unveränderten Betriebssystemversionen des Atari ST
arbeiten ohne Fastload. Dadurch wird das Schreiben und Lesen von
Diskette verlangsamt, weil nach einem Spurwechsel erst einmal eine Pause
von 15 ms zur Kopfberuhigung eingelegt wird, und danach die Information
darüber verlangt wird, ob die erreichte Spur die richtige ist. Vor jedem
Sektor steht diese Information und wird auch für dieses 'Trackverify'
benutzt. Da aber diese Information - der Sektorheader - auch zum Lesen
des eigentlichen Sektorinhalts benötigt wird, kann der Kopf den Sektor,
über dem er sich gerade befindet, nicht mehr lesen und muß daher eine
ganze Diskettenumdrehung auf ihn warten.
Um dieses Trackverify abzuschalten, muß ein Byte (eigentlich nur 1 Bit)
im Betriebssystem geändert werden. Derart geänderte Eproms kann man für
etwa 20.- bis 30.- DM kaufen und kommt dadurch in den Genuß der höheren
Lese- und Schreibgeschwindigkeiten (siehe Tabelle). Zum Selbermachen die
Patchadressen in den verschiedenen Betriebssystem-Versionen (jeweils das
Byte $14 ändern in $10):
Version Datum Offset U7 im Speicher
----------------------------------------------
TOS 1.0 06.02.1986 $0DC7 $FC1B8F
TOS 1.2 22.04.1987 $0EC7 $FC1D8F
TOS 1.4 18.05.1988 $0AE9 $FC15D3 inoffiziell !
TOS 1.4 22.02.1989 $0A8E $FC151D inoffiziell !
TOS 1.4 06.04.1989 $0A8B $FC1517
Version Datum File-Offset im Speicher
-----------------------------------------------
RAMTOS 1.0 06.02.1986 $1A1D $7A1D
RAMTOS 1.4 18.05.1988 $13D5 $BED5 inoffiziell !
RAMTOS 1.4 08.08.1988 $13B1 $BFB1 inoffiziell !
Tabelle 4: Fastload Patchadressen
Spiralfaktor, SPIR:
-------------------
Die Sektoren einer Diskette sind dann spiralisiert, wenn zwar die
Reihenfolge der Sektoren auf allen Spuren erhalten bleibt, jedoch jede
Spur mit einer anderen Nummer dieser Reihenfolge beginnt. Verbindet man
im Gedanken von außen alle Sektoren der Diskette, die die Nummer 1
haben, so beschreibt diese Kurve eine Spirale, die im Zentrum der
Diskette enden würde. Nach einem Spurwechsel hat der Lesekopf dadurch
mehr Zeit, weil der nächste zu bearbeitende Sektor aufgrund der
Spiralisierung etwas später erscheint als ohne Spiralisierung. Bei
Systemen ohne Fastload scheint der Spir-Faktor von 2 optimal zu sein, da
der Kopf nach dem Spurwechsel erst noch sein Trackverify ausführen
kann und danach sofort auf den richtigen Sektor stößt.
Beispiel: Track 17, Sektorfolge 1 2 3 4 5 6 7 8 9
Track 18, Sektorfolge 8 9 1 2 3 4 5 6 7 >> Spiralfaktor 2
Nachdem der Kopf den Sektor 9 auf Spur 17 gelesen hat, fährt er auf Spur
18 und landet dort irgendwo in Sektor 8. Den Header von Sektor 9, Spur
18 benutzt er zum Trackverify und kann sodann mit dem Laden des Sektors
1 beginnen.
Interleave, Interleave-Faktor:
------------------------------
Aufgepaßt: Interleave bezeichnet man als den Zwischenraum zwischen 2
numerisch aufeinanderfolgenden Sektoren. Oder: So viele
Diskettenumdrehungen sind notwendig, um alle Sektoren des Tracks zu
lesen.
Sektorfolge: 1 6 2 7 3 8 4 9 5 >> Interleave 2
Zwischen Sektor 1 und 2 liegen 2 Zwischenräume (1-6 und 6-2)
aber ...
Interleave-Faktor bezeichnet die Zahl, die auf eine Sektornummer
aufaddiert wird, um auf die Nummer des nachfolgenden Sektors zu kommen.
Sektorfolge: 1 7 2 8 3 9 4 10 5 11 6 >> Interleave-Faktor 6
>> Interleave 2
*** Folgendes Gfa-Basic Programm demonstriert die Arbeitsweise des TOS
*** beim Konstruieren der Sektorfolgen mit Interleave-Faktor
1: FOR spt%=9 TO 11 ! 9 bis 11 Sekt. pro Track
2: FOR ilf%=1 TO 11 ! Interl.-Faktor 1 bis 11
3: @makesecs(spt%,ilf%) ! Sektorfolgen konstruieren
4: PRINT ! neue Zeile
5: NEXT ilf% ! Nächster IL-Faktor
6: NEXT spt% ! Nächstes Trackformat
7: END
8: PROCEDURE makesecs(spt%,ilf%)
9: lauf%=1
10: PRINT spt%;"/";ilf%;"= ";
11: REPEAT
12: secnr%=lauf%
13: REPEAT
14: PRINT secnr%;" "; ! hier ensteht der Sektor
15: ADD secnr%,ilf%
16: UNTIL secnr%>spt%
17: INC lauf%
18: UNTIL lauf%>ilf%
19: RETURN
Die Formatier-Routine (XBIOS 10) des Atari ST erwartet auf dem Stack
einen Interleave-Faktor und führt damit obige Rechnung aus.
Wem es noch nicht kompliziert genug ist, hier der mathematische
Zusammenhang zwischen Interleave (IL) und Interleave-Faktor (ILF):
Bedingung: 0<ILF<SPT und 1<IL<SPT
ILF*IL=SPT+1 SPT=Sektoren pro Track
Formel 3
Zur Beurteilung der Ladegeschwindigkeiten und deshalb auch in meiner
Formel wird hingegen der Interleave (IL) benutzt, weil er diesbezüglich
aussagekräftiger ist und unabhängig von der Anzahl der Sektoren
pro Track (SPT) Auskunft über die minimale Anzahl von
Diskettenumdrehungen gibt, die zum Lesen aller Sektoren nötig sind.
Zusätzlicher Header, Sektorvorspann:
------------------------------------
So nennt man den Teil eines Sektors, in dem Auskunft über Tracknummer,
Seite, Sektornummer und Sektorgröße gegeben wird, dem aber nicht wie
normalerweise das 512 Byte lange Datenfeld des Sektors folgt. Dieser
Sektorvorspann wird alleine geschrieben, belegt insgesamt 10 Bytes auf
der Diskette und seine einzige Aufgabe ist, dem System Auskunft über die
Tracknummer zu geben, in der die gerade gelesene Information steht.
Durch diesen Trick wird dem Trackverify (s. dort) Rechnung getragen.