Ralf Biedermann Ortfeld 3 27299 Langwedel Germany Maus:Ralf Biedermann @ HB uucp:rb@oskar.bias.uni-bremen.de Dokumentation zum Cacheprogramm TCache: (Version 6.2) Wichtige Žnderung beim Vertrieb! Bitte beachten. Ab Version 6.2 von TCache wird es zwei Versionen von diesem Programm geben. 1. die registrierte Version ohne Einschr„nkungen. Die Testversion TC_TEST.LZH die z.Z. als einzige Einschr„nkung einen Text beim Booten enth„lt. šber weitere einschr„nkungen werde ich bei Bedarf nachdenken. Die Weitergabe der registrierten Version ist unter keinen Umst„nden gestattet. Zur Weitergabe freigegeben ist nur das Archive TC_TEST.LZH in unver„nderter Form. 1. WARNUNG Dieser Punkt sollte bei allen Programmen, die zu Datenverlust fhren k”nnten, als erster Punkt der Dokumentation stehen. Da diese These von mir stammt, werde ich mich daran halten. TCache ist ein Programm, das versucht die Zugriffe auf Speichermedien, wie zum Beispiel Festplatten, zu beschleunigen. Dies geschieht, indem Teile des Speichermediums tempor„r im RAM gehalten werden. Wenn beim Zugriff auf die FAT ein Fehler auftritt, dann fhrt dies nicht selten zu Datenverlusten. Obwohl TCache auf den verschiedensten Konfigurationen getestet wurde, kann und will ich keine Verantwortung fr eventuelle Datenverluste bernehmen. Dieses Vorwort muáte ich schreiben,um nicht in Haftung genommen zu werden. TCache kommt mit Sektoren > 512 Byte/Sektor klar, aber die L„nge eines Fateintrages darf 32 BIT nicht berschreiten! Die Einschr„nkung mit den 32 BIT drfte auf dem Atari keine Einschr„nkung sein, da mir keine andere Sektornummerierung bekannt ist. TCache sollte auch mit Disketten und Wechselplatten zurechtkommen, da Mediachange berwacht wird. Mediachange ist ein Signal das von wechselbaren Speichermedien kommen sollte wenn das Speichermedium gewechselt wurde. Beim Testen mit verschiedenen Rechnerkonfigurationen konnte ich Folgendes in Bezug auf Mediachange feststellen: Bei TOS 1.04 klappt die Sache bei Disketten zufriedenstellend aber nicht perfekt. Bei TOS 1.00 ist es ratsamer, die Diskettenlaufwerke nicht zu puffern. Diskettencache klappt nur, wenn der Schreibschutz der Diskette NICHT aktiviert wurde. Tests mit Wechselplatten konnte ich nicht durchfhren, da nicht vorhanden. Ich w„re fr Informationen diesbezglich dankbar. Es muá nochmal betont werden: Mediachange wird zwar berwacht. Wenn Mediachange jedoch einmal nicht kommt, gibt es bei Diskette und Wechselplatten eine mittlere Katastrophe. Deswegen gilt besonders bei den beiden oben genannten Speichermedien: Sehr grndlich mit unwichtigen Daten testen! Einige Pogramme arbeiten unter Umgehung des Bios, bei denen man TCache ausschalten sollte (mit TcacheAcc). Bei diesen Programmen handelt es sich haupts„chlich um Diskdoktoren, Diskkopierer sowie besonders auch um Formatier- und Partitionierprogramme. -------------------------------- ACHTUNG!!! ------------------------------- Eine neue Warnung: Die Warnung betrifft Viren. Die Option Laufwerksumlenkung ist ja sehr sch”n, aber leider gibt es mit Viren arge Problem. Es kann vorkommen das ein Virus aus einer mehrere Megabyte groáen Partition eine Partition mit 726016 Bytes macht. Der Grund liegt darin das Viren den Bootsektor einer Diskette schreiben und wenn man ein Diskettenlaufwerk auf eine Festplattenpartition umgelenkt hat so wird der Bootsektor einer Diskette auf Festplatte geschrieben. Abhilfen: - sicherstellen das man keine Viren hat (ist immer zu empfehlen) - Option Bootsektor aktivieren, dann gibt es eine Fehlermeldung. Mit geeignetem Werkzeug (Festplattentools) ist der Schaden zwar nicht ganz so schlimm, aber durch Panikaktionen kann er sehr folgenschwer werden. TCache62.PRG darf nicht in gepackter Form (z.B. mit PFX_PAK) im Auto Ordner stehen, da die Einstellungen direkt im Programmcode abgespeichert werden! TCache darf nicht mit Programmen zusammenarbeiten, die Laufwerksbezeichnungen um„ndern, deswegen habe ich diese Option auch direkt in TCache eingebaut. Eine besondere Warnung sollte man nochmal fr 'Schreiben verz”gern' aussprechen. Wenn man oft Abstrze hat oder gerne resetet, sollte man Schreiben verz”gern NICHT benutzen. Ich habe die Option nur eingebaut, weil andere Diese auch haben und weil es in bestimmten F„llen sehr viel bringt. Ich pers”nlich m”chte diese Option allerdings nicht mehr missen. Ein normaler ST mit 8MHz zusammen mit einem Bildschirmbeschleuniger und TCache ist wie ein anderer Rechner. --------------------------------------------------------------------------- 2. COPYRIGHT Die Version ab 4.0 von TCache ist komplett neu geschrieben. Das Copyright liegt allein bei mir. Ver„nderungen an dem Programm fr den privaten Gebrauch sind gestattet. Soll eine (auch stark) ver„nderte Version von TCache der ™ffentlichkeit zug„nglich gemacht werden, muá mir das ge„nderte Programm inklusive Quelltexten zuvor zugeschickt werden. Dieses kleine Opfer muá ich verlangen, damit wenigstens Einer (n„mlich ich) den šberblick nicht ganz verliert. --------------------------------------------------------------------------- 3. VERTRIEB Bei TCache handelt es sich um eine Abart der Shareware die ich CharityWare nennen m”chte. CharityWare heiát bei regelm„áiger Nutzung von TCache ber einen Zeitraum von mehr als 4 Wochen wird eine Spende >=10,-DM fr einen Tierschutzverein nach Wahl f„llig , falls ihr TCache auch nach 4 Wochen ohne Spende benutzt gilt das Programm als Raubkopie und euer Gewissen wird euch bis ans Ende eurer Tage verfolgen und nicht schlafen lassen(;-{(}). Als Beleg fr die Spende erkenne ich eine Spendenquittung oder einen Einzahlungsbeleg an. Falls Ihr keine Spenden fr einen Tierschutzverein machen wollt, seht TCache bitte als Shareware an. Fr einen Spendenbetrag von >=30,-, einen frankierten und adressierten Rckumschlag, sowie einer Diskette (am liebsten mit anderer PD/Shareware) bekommt ihr die neueste Version von TCache inclusive der Quelltexte von Version 6.0 zugeschickt. Bei Einsendung von einem frankierten und adressierten Rckumschlag sowie einer Diskette (am liebsten mit anderer PD/ ShareWare) schicke ich dem Absender die aktuelle Version von TCache ohne Quelltext zu. Eine Spendenbescheinigung fr einen Tierschutzverein erh”ht allerdings meinen Eifer. Ich habe mich entschlossen TCache nicht mehr als FreeWare zu verteilen, weil euer Eifer mich nicht beeindruckt hat. Um aber trotzdem den guten Zweck zu betonen habe ich die Spende fr einen Tierschutzverein auf >=10,- festgelegt, w„hrend die nicht so tierlieben Menschen um >=30,- erleichtert werden sollen. Falls der gute Zweck nicht reicht vielleicht hilft der Druck auf den Geldbeutel ;-{)} Ach ja meine Kontonummer fr die Unverbesserlichen lautet Ralf Biedermann Kreissparkasse Verden Kontonummer:78553 Bankleitzahl:291 526 76 Von TCache darf ab Version 6.2 nur noch das Archive TC_TEST.LZH verbreitet werden. Zu TCache Version 6 geh”ren folgende Dateien: A. TCACHE62.TXT Dieser Text B. CHANGES .TXT Beschreibung der Žnderung seit Version 5.9 C. TCACHE62.PRG Das eigentliche Cacheprogramm D. TC_ACC62.ACC Ein kleines Accessory fr Statistiken und Einstellungen. Kann auch als .PRG gestartet werden (nur umbenennen). Auf den Disketten die ich an Spender (ICH WIEDERHOLE AM LIEBSTEN FšR DEN TIERSCHUTZVEREIN) werden noch folgende Dateien sein: INTERNA.TXT Beschreibung aller Cookiefunktionen und Erkl„rung der internen Vorg„nge von TCache. Ab Version 6.1 werde ich nur noch die Quelltexte der Version 6.0 mitliefern. Ich halte diese Maánahme wegen der geringen Resonanz fr angemessen. --------------------------------------------------------------------------- 4. INSTALLATION TCache wird mit folgender Grundeinstellung von mir in den Umlauf gebracht: -Cachegr”áe : 128 KByte -Maximale Blockgr”áe : 32 Sektoren -Maximale Blockgr”áe Lesen : 32 Sektoren -Maximale Blockgr”áe Schreiben : 32 Sektoren -Maximaler Prefetch : 32 Sektoren -Hashtabelle : 4096 Byte (10 Bit, 1024 Zeiger) -Laufwerke : keins wird gepuffert -Sektorprefetch ist aktiv und auf 4 Sektoren eingestellt -Schreibpufferung ist fr alle Laufwerke aktiv -Schreiben verz”gern ist nicht aktiv -Checksumme nicht aktiv -Mediach() wird aufgerufen -Fat & Rootdir ist nicht aktiv -bei Reset wird versucht zu schreiben. -Flushzeit fr 'Schreiben verz”gern' ist 10 VBI Ich hab kein Laufwerk gepuffert, damit jeder erstmal seine Grundeinstellung vornehmen muá. Die Installation von TCache ist sehr einfach. Nur das Programm TCache62.PRG in den AUTO-ORDNER der Bootpartition kopieren, Rechner resetten, fertig. Es ist zu empfehlen TCache sehr weit vorne (physikalisch) im Autoordner zu plazieren. Ntzlich ist es auch, das Programm TC_ACC62.ACC in das ROOT-Directory zu kopieren. Die Grundeinstellung von TCache (siehe oben) ist so ausgelegt, daá dieses Programm auf jedem Rechner l„uft. Falls die Grundeinstellung nicht zusagt, l„át sich die Einstellung mit dem mitgelieferten TC_ACC62.ACC „ndern. Nach dem ersten Start muá TCache62.PRG mit TC_ACC62.ACC (oder .PRG) konfiguriert werden, da ich, wie gesagt, TCache komplett deaktiviert in den Umlauf bringe. Falls ihr das CPX von Jan Starzynski benutzt, kann es sein das TCache auch schon nach der Erstinstallation aktiv ist, da eben jenes CPX nach dem Bootvorgang TCache umkonfiguriert. Falls es zu gef„hrlich erscheint das Programm gleich in den AUTO-Ordner zu kopieren, kann das Programm auch direkt vom Desktop gestartet werden, um es erst einmal auszuprobieren. Man sollte es nur mit einer unwichtigen Partition oder mit einer solchen benutzen, von der man ein BackUp hat. Ich gehe zwar nicht davon aus, daá eine bestimmte Betriebssytemversion oder ein bestimmter Festplattentreiber vorhanden ist, aber wegen der groáen Vielfalt kann ich natrlich nicht garantieren, daá TCache immer und berall einwandfrei funktioniert. Wird TCache mit zu viel Speicher konfiguriert, kann TCache nicht mehr gestartet werden. Somit kann man die Konfiguration auch nicht mehr „ndern. Damit TCache auf jedem Rechner wieder zum Laufen gebracht werden kann, braucht man beim Starten von TCache (auch im Autoordner) nur die linke Shift- und die Controltaste gleichzeitig drcken. Wenn diese Tastenkombination erkannt wurde, „ndert TCache seine Konfiguration wie folgt: 32 KB Speicher fr Sektoren 10 Bit Hashtabelle 16 Sektoren als gr”áter Block beim Lesen 16 Sektoren als gr”áter Block beim Schreiben 16 Sektoren als maximaler Prefetch Flushzeit 10 VBI keine Pufferung aktiv Jetzt kann man wieder die Konfiguration mit TC_ACC62 „ndern. --------------------------------------------------------------------------- 5.TC_ACC62.ACC Mit diesem kleinen PRG/ACC (nur umbenennen) kann man s„mtliche Einstellungen von TCache vornehmen, wobei TCache installiert sein muá. Fr jedes vorhandene Laufwerk kann man im Menu instellungen' folgende Parameter einstellen: - Ob es gepuffert werden soll (Aktiv). D.h. hiermit kann man ein Laufwerk komplett von TCache ausnehmen. Wenn dieser Punkt nicht angew„hlt ist werden alle anderen Optionen, fr dieses Laufwerk, ignoriert. Falls man also ein Laufwerk von TCache beschleunigen lassen m”chte muá dieser Punkt angew„hlt sein. - Ob eine Schreibpufferung vorgenommen werden soll (Žnderungen schreiben). Wenn dieser Punkt angew„hlt wurde wird jeder Sektor, der geschrieben werden soll, vorher mit dem Cacheinhalt verglichen und bei šbereinstimmung wird der Sektor nicht geschrieben. - Ob Schreiben verz”gert werden soll (Schreiben verz”gern). Diese Option beh„lt Sektoren, die geschrieben werden sollen, fr eine gewisse Zeit im Speicher ohne einen wirklichen Schreibzugriff auf Festplatte durchzufhren. Der Vorteil dieser Einstellung liegt in Gemdos. Gemdos fhrt teilweise sehr viele Schreibzugriffe auf die gleichen Sektoren durch, z.B. beim L”schen von Dateien, und durch diesen Punkt werden mehrere Schreibzugriffe zu einem Zugriff zusammengefasst. Obwohl diese Einstellung teilweise imense Zeitersparnis bringt ist sie auch gef„hrlich weil die ge„nderten Daten fr eine gewisse Zeit NUR im RAM existieren. - Ob das Laufwerk schreibgeschtzt sein soll (Schreibschutz). Wenn dieser Punkt angw„hlt ist bekommt man bei Schreibzugriffen auf das Laufwerk eine Alertbox und der Schreibzugriff wird nicht durchgefhrt auch nicht wenn man NOCHMAL anw„hlt. Schreibzugriffe sind erst wieder m”glich wenn man diese Option ausgeschaltet hat.. - Ob bei Cachezugriffen mit Checksumme gearbeitet werden soll (Checksumme) Wenn dieser Button gew„hlt ist, wird fr jeden Sektorzugriffe eine Prfsumme gebildet und mit einer Summe verglichen die beim Laden des Sektors gebildet wurde. Sollten die Prfsummen nicht bereinstimmen, wird der gespeicherte Sektor fr ungltig erkl„rt und erneut von der Festplatte gelesen. Dieser Punkt soll der Sicherheit dienen, kostet allerdings sehr viel Zeit so das der Vorteil von TCache mehr als aufgebraucht wird. - Ob bei einem CacheHit Mediach() aufgerufen wird (Mediach() bei Hit). Wenn dieser Punkt angew„hlt ist, wird die Routine Mediach() jedesmal aufgerufen, wenn ein Sektor im Cache gefunden wurde. Diese Funktion sollte bei allen Laufwerken eingeschaltet sein die man wechseln kann, z.B. Disketten. Falls bei einem wechselbaren Medium diese Option nicht eingeschaltet ist kann es zu Datenverlusten kommen. - Ob beim Booten die Fats und Rootdirs eingelesen und gesperrt werden sollen (FAT & RootDir sperren). Da die FAT ein Festplattenbereich ist auf dem sehr oft zugegriffen wird lohnt es sich wenn man mit dieser Option TCache sagt das FAT-Sektoren nicht mehr berschrieben werden drfen. Wenn dieser Punkt angew„hlt ist sollte man noch drauf achten das der Belegungsgrad NICHT invers angezeigt wird, denn sonst gehen groáe Teile des Cacheeffekts verloren. Inverse Zahl beim Belegungsgrad bedeutet das der Speicher komplett mit gesperrten, nicht berschreibbaren Daten gefllt ist. - Sektorprefetch (10 Radiobutton am unteren Rand der Box 0..9) bestimmt die Anzahl der Sektoren die TCache liest falls das Betriebssystem nur einen einzelnen Sektor anfordert. Beim Sektorprefetch liest TCache mehrer aufeinander folgende Sektoren ein obwohl das Betriebssystem nur einen Sektor gefordert hat. Der von TOS geforderte Sektor wird an die fr ihn bestimmte Adresse kopiert und die anderen Sektoren werden ordnungsgem„á im Cache eingetragen. Dieses Verhalten bringt einige Vorteile da viele Programme mehrere aufeinander folgende Sektor durch einzelne Zugriffe anfordern. Bei Benchmarkprogrammen welche die sogenannte Zugriffszeit messen kann es zu einer Verschlechterung kommen es sei denn man hat Sektorprefetch 0 eingestellt. Fr TCache global kann man im Menu 'Parameter' Folgendes einstellen: - Speichergr”áe 32..9999 KByte. Hier wird die Speichergr”áe angegeben die nur fr Sektordaten benutzt wird. Der Gesamtspeicherbedarf bersteigt diesen Wert um ca. 20%. Den Gesamtspeicherbedarf bekommt man beim Start von TCache angezeigt und kann ihn vom ACC anzeigen lassen (klick auf Copyrightmessage). Falls es Atari-Benutzer gibt denen fast 10MB Cache nicht reichen sollte man mir eine Mitteilung zukommen lassen und ich erh”he diese Grenze auf fast 100MB oder gar auf knapp unter einem GigaByte ;-{)} - maximale Blockl„nge 2..999 Sektoren beim Lesen. Zugriffe auf Festplatte geschehen Sektorweise und in einem Zugriff kann Gemdos auch mehrere Sektoren auf einmal anfordern. Mit dieser Zahl kann man den gr”áten Block bestimmen der beim Lesen noch von TCache beachtet wird. Zugriffe die diesen Wert berschreiten werden direkt von der Festplatte gelesen. TCache l„át es nicht zu, daá die Blockl„nge die Speichergr”áe von TCache berschreitet. In so einem Fall wird die Blockl„nge auf 16 gesetzt. Diesen Wert sollte an der Cachegr”áe anpassen, d.h. kleiner Cache geringe Blockl„nge. Auch hier gilt das Gleiche wie fr die Speichergr”áe: Wenn der Wert jemandem zu klein ist kann er sich bei mir melden. - maximale Blockl„nge 2..999 Sektoren beim Schreiben. Zugriffe auf Festplatte geschehen Sektorweise und in einem Zugriff kann Gemdos auch mehrere Sektoren auf einmal schreiben. Mit dieser Zahl kann man den gr”áten Block bestimmen der beim Schreiben noch von TCache beachtet wird. Zugriffe die diesen Wert berschreiten werden direkt auf die Festplatte geschrieben. TCache l„át es nicht zu das die Blockl„nge die Speichergr”áe von TCache berschreitet. In so einem Fall wird die Blockl„nge auf 16 gesetzt. Diesen Wert sollte man der Cachegr”áe anpassen, d.h. kleiner Cache geringe Blockl„nge. Auch hier gilt das Gleiche wie fr die Speichergr”áe: Wenn der Wert jemandem zu klein ist kann er sich bei mir melden. - maximaler Prefetchpuffer 10..99 Sektoren. Dieser Puffer dient als Zwischenspeicher fr den Sektorprefetch und gleichzeitig werden in diesem Puffer die Sektoren zusammengestellt die bei 'Schreib sp„ter' in der Interruptroutine geschrieben werden. Wenn die Option 'Schreib sp„ter' fr mindestens ein Laufwerk angew„hlt ist, sollte dieser Wert zwischen 16 und 32 stehen. Auch hier gilt das Gleiche wie fr die Speichergr”áe: Wenn der Wert jemandem zu klein ist kann er sich bei mir melden. - Gr”áe der Hashfunktion 8..16 Bit. Dieser Wert bestimmt die Geschwindigkeit beim Suchen eines Sektors im Speicher. Je h”her der Wert desto schneller findet TCache Sektoren im Speicher. Der Speicherbedarf dieser Werte geht von 1024Byte (8Bit) bis zu 262.144Byte (16Bit). Der Speicherbedarf berechnet sich nach der Formel 4*2^(Anzahl der Bits). Sinnvolle Werte liegen so zwischen 10..12 Bit. Diese Werte haben ein gutes Speicher/Geschwindigkeits Verh„ltnis. - Flushzeit fr delayed write. Die Zeit wird in Anzahl von 5*VBI's angegeben, d.h. die eingestellte Zeit ist auch abh„ngig von der Monitorfrequenz. Beim Monochrommonitor bedeutet 1 *5*VBI ca.50 msec. Werte zwischen 5..10 sind relativ sichern weil Daten sehr schnell auf Festplatte verewigt werden, w„hrend Werte von >50 in einigen Anwendungen noch ein Mehr an Geschwindigkeit bedeuten. Desweiteren gibt es ganz unten im Menu 'Parameter' noch vier Auswahlm”glichkeiten: - 'CLR' bewirkt bei Anwahl, daá das Cache beim 'Ok' oder beim 'Speichern' gel”scht wird (inklusive 'gelockten' Daten) und auáerdem wird der Cache geflushed, d.h. verz”gerte Sektoren werden auf dem passenden Medium verewigt. - 'LOCK' hat zur Folge, daá alle folgenden Sektorzugriffe diese Sektoren gegen šberschreiben schtzen (nicht bei Abbruch). Man muá dieses Flag irgendwann zurcksetzen, sonst ist der Cachespeicher schneller voll als man denkt. - 'LED' bewirkt das die Floppylampe bei jedem Zugriff auf Festplatte bzw. Cache angeht. Falls man eine Ramdisk vor TCache installiert leuchtet die LED auch sehr kurz auf. LED muá angew„hlt sein (Schwarz) damit die Floppyled flackert. - 'AKTIV', mit diesem Flag kann man TCache komplett deaktivieren. Im Menu 'Statistik' bekommt man folgende Daten angezeigt: - Anzahl der Lesezugriffe fr jedes Laufwerk. Es wird jeder Aufruf von Rwabs() gez„hlt und nicht etwa jeder Sektor. - Anzahl der gesparten Lesezugriffe fr jedes Laufwerk. Es wird jeder Aufruf von Rwabs() gez„hlt der gespart werden konnte und nicht etwa jeder Sektor. - Trefferquote bei Lesezugriffen in %. Treffer bedeutet es wurde ein Zugriff komplett aus dem Cache get„tigt und die liebe Festplatte hatte ruhe. - Anzahl der Schreibzugriffe fr jedes Laufwerk. Es wird jeder Aufruf von Rwabs() gez„hlt und nicht etwa jeder Sektor. - Anzahl der gesparten Schreibzugriffe fr jedes Laufwerk. Es wird jeder Aufruf von Rwabs() gez„hlt der gespart werden konnte und nicht etwa jeder Sektor. - Trefferquote bei Schreibzugriffen in %. Treffer bedeutet es wurde ein Zugriff komplett aus dem Cache get„tigt und die liebe Festplatte hatte ruhe. - Anzahl der aufgetretenen Checksummenfehler. Jeder Sektor bei dem die Checksumme nicht stimmt wird gez„hlt. - Anzahl der Zugriffe auf ungerade Adressen. Jeder Sektor der auf eine ungerade Adresse geladen werden soll wird gez„hlt. - Freier Speicherplatz auf dem gew„hlten Laufwerk - Sektorgr”áe des gew„hlten Laufwerks. Im Menu 'Spezial' befinden sich zwei Optionen: - Zugriffschutz fr Laufwerke. Um diese Option benutzen zu k”nnen brauchen nur die Laufwerke die geschtzt werden sollen durch Selektion der oberen beiden Buttonreihen angew„hlt werden. Damit der Schutz aktiv wird muá noch ein Passwort eingegeben werden. Ich bringe TCache mit dem Passwort 'TCRB' in Umlauf, d.h. direkt nach der Installation wirkt nur das Passort 'TCRB'. Wenn jemand das Passwort „ndern m”chte kann es nur mit Hilfe eines Diskettenmonitors geschehen. TCACHE62.PRG in den Diskettenmonitor laden, en String 'PASSTCRB' suchen und 'TCRB' durch das neue Passwort ersetzen. - Laufwerksumlenkung bewirkt das Zugriff auf Laufwerk '?' auf ein anderes Laufwerk umgelenkt werden. Mit Hilfe der beiden Pfeile kann das umzulenkende Laufwerk ausgew„hlt werden. Zur Umlenkung angeboten werden sowohl alle wirklich vorhandenen als auch die virtuellen Laufwerke. Nachdem man das Laufwerk ausgew„hlt hat welches man umlenken m”chte, braucht mit nur noch das gewnschte Ziel in den unteren beiden Buttonreihen anklicken. Als Ziel werden nur wirklich vorhandene Laufwerke angeboten. Die Laufwerkumlenkung funktioniert eigentlich ausgezeichenet bis auf eine Ausnahme. Die Ausnahme ist das Formatieren, d.h. das Formatieren geht niht ber die Laufwerkumleenkung sondern spricht wirklich das gew„hlte Laufwerk an. Dieser Punkt ist eigentlich nur bei Diskettenbetrieb mit zwei Laufwerken wichtig. Im Menu 'Zubeh”r' gibt es zur Zeit 9 Schalter und 5 weitere Menus. Die weiteren Menus erkennt man an den schattierten Button. Als erstes m”chte ich die Schalter erkl„ren: - Turbo ;-{)} schaltet die Statistikfunktionen und einige Sicherheitsberprfungen aus. Bei reinem Festplattenbetrieb sollten keine Schwierigkeiten auftauchen. Besitzer von wechselbaren Medien sollten diese Option NICHT einschalten. Dieser Schalter wirkt nur fr Laufwerke >=C somit sind die beiden Diskettenlaufwerke auf jeden Fall von dieser Option ausgeschaltet, auch wenn z.B. Laufwerk 'C' auf Laufwerk 'A' umgelenkt wird. Der Sinn dieser Option ist natrlich ein paar Prozent bei der Geschwindigkeit zuzulegen. - del delayed bestimmt ob verz”gerte Daten aus einer linked List entfernt werden sollen oder nicht. Wenn dieser Schalter aktiv ist werden verz”gerte Daten aus einer linked List, die Platz fr neue Sektoren sucht, entfernt. Sinnvoll ist diese Option erst wenn Cachegr”áe >=1MB ist und 'Schreiben verz”gern' gew„hlt wurde. - LRU heiát eine weitere Cachestrategie. Wenn dieser Button aktiviert ist so benutzt TCache eine weitere neue (bzw. sehr alte) Cachestrategie n„mlich die sogenannte 'Last Recently Used'. Bei dieser Strategie wird nicht stur nach einer linearen Liste Platz fr neue Sektoren gemacht, sondern die am wenigsten benutzen Sektoren werden aus dem Cache rausgeschmissen. Durch ein biáchen berlegen konnte ich meine lineare Liste ziemlich gut mit LRU kombinieren. Diese Option ist eigentlich nur sinnvoll bei sehr kleinem Cache (<=128K) und ausgeschalteter Fat&RootDir-Option. Einen weiteren kleinen Vorteil bringt diese Option bei Benchmarks die haupts„chlich einen CacheMiss erzielen wie z.B. SCSITOOL. - Bootsektor ist ein Schalter mit dem man Schreibzugriffe auf den Bootsektor verbieten kann. Wenn der Schalter aktiv ist werden alle Schreibversuche auf den Bootsektor mit einer Fehlermeldung quitiert. Diese Option ist ein weiterer Versuch die Verbreitung von Viren zu unterbinden. - Sektorcheck bewirkt das TCache die Sektornummern auf Gltigkeit berprft bevor der eigentliche Zugriff auf die Festplatte erfolgt. Wenn der Schalter aktiv ist berechnet TCache zuerst die Nummer des letzten Sektors der gelesen/geschrieben werden soll und falls dieser nicht mit der gr”áten Sektor vom BiosParameterBlock in Einklang zu bringen ist wird der Fehler -8 (Sektor not found) gemeldet. - Flush all sagt ob bei einem Flush (Zurckschreiben der Daten bei Schreib sp„ter) alle Sektoren auf einmal geschrieben werden oder ob der Vorgang durch eine kleine Pause unterbrochen werden soll. - Absolut erlaubt es alle Zugriffe auf absolute Sektoren (unter Umgehung der Partitionsinformationen) zulassen oder sperren. Wenn den Button gew„hlt wurde, sind Zugriffe auf absolute Sektoren erlaubt. Da im normalen Betrieb eigentlich keine Zugriffe auf diesem Wege geschehen sollten, habe ich diesen Punkt ausgeschaltet. Im Prinzip sollten nur Festplattentools diese Zugriffsart zum Formatieren bzw. Partitioniern benutzen. Falls der absolute Zugriff nicht erlaubt ist und ein Programm versucht trotzdem absolut zuzugreifen, kommt eine Box 'Bitte Diskette ? in Laufwerk A einlegen', wobei das '?' fr das Laufwerk steht auf das zugegriffen werden sollte wobei der Buchstabe diesmal ein physikalisches Laufwerk angiebt. Egal welchen Button man in der Box w„hlt der Zugriff bleibt untersagt. - Testing unterbindet die regelm„áigen Testfunktionen vom Accessory (nur als Accessory). Ist dieser Button gew„hlt wird getestet ansonsten nicht. Die Testfunktionen sind: berprfen ob TCache noch vorhanden ist und šberwachung von Schreibfehlern. - PUN-INFO schaltet die Auswertung der Pun-Info-Struktur beim Booten ein oder aus. Da es mindestens mit einem Festplattentreiber Schwierigkeiten wegen dieser Option gab, habe ich das Verhalten durch diesen Button schaltbar gemacht. Beim Booten wertet TCache die Pun-Info-Struktur nur noch aus wenn dieser Button gew„hlt wurde. Der Vorteil der Benutzung von Pun-Info liegt in der geringeren Anzahl von Getbpb()-Aufrufen beim Booten und damit eine geringe Zeitersparnis. Besonders bei Wechselplatten hat es Vorteil ber die Pun-Info-Struktur zu gehen wenn es der Festplattentreiber zul„át. Wenn PUN-INFO ausgeschaltet ist werden nur noch Laufwerke durchsucht die von TCache gecached werden sollen. - NOX! Zum Testen gibs jetzt den Button 'NOX!' ist dieser angew„hlt versucht TCache einen Cookie mit dem Namen 'NOX!' zu finden. Ist dieser vorhanden betrachtet TCache den Wert des Cookies als Zeiger auf eine Routine. Diese Routine wird beim Start und beim Ende von TCache augefhrt, aber nur wenn TCache aktiv ist. In D0 bekommt die Routine gesagt ob Rwabs() anf„ngt (D0=0) oder aufh”rt (D0=1). Falls die Routine beim Start aufgerufen wird erh„lt das Unterprogramm in Register A0 noch einen Zeiger auf die Parameter fr Rwabs(). TCache rettet alle Register ! Die Routine NOX! wird auch angesprungen wenn TCache komplett oder nur das betroffene Laufwerk gar nicht aktiviert sind. - Drvbit-Check zeigt TCache ob Zugriffe auf nicht mehr angemeldete Laufwerke erlaubt sind (Button nicht gew„hlt) oder ob diese Zugriffe mit 'Laufwerk nicht bekannt' beantwortet werden (Button gew„hlt). Falls man einen Festplattentreiber benutzt der es erlaubt von anderen Partitionen als 'C' zu booten, muá beim Booten von einem Laufwerk <> 'C' im Normalfall diese Option ausgeschaltet sein, andernfalls kann nicht mehr auf Laufwerk 'C' zugegriffen werden. Das Booten von andern Partitionen beruht meistens auf d Trick Laufwerk 'C' w„hrend der Bootphase abzumelden. - XBra-Check sagt TCache in welchem Maáe es seinen Programmcode prfen soll. Vorweg w„re zu sagen das TCache aus Sicherheitsgrnden bei jedem Programmende eine Checksumme ber den Programmcode und wichtige Zeiger bildet. Falls die Checksumme nicht mehr mit einer vorher gebildeten bereinstimmt deaktiviert sich TCache und das Accessory meldet das Problem. Mit XBra-Check kann man bestimmen, wie die alten Vektoren einer XBra-Struktur berwacht werde. Ist dieser Button gew„hlt duldet TCache keinerlei Ver„nderungen an diesen Vektoren, das kann bedeuten das sich TCache deaktiviert, wenn man z.B. eine Ramdisk aus dem Speicher entfernt. Falls der Button nicht gew„hlt wurde, sind nur Zugriffe auf die alten Vektoren innerhalb der XBra-Struktur erlaubt. - etv_term bestimmt, ob beim Verlassen eines Programmes alle Daten wirklich auf den Massenspeicher bertragen werden. Diese Option hat nur eine Wirkung wenn 'Schreiben verz”gern' aktiv ist. - WriteReset bestimmt ob im Falle eines Resettes (NUR WARMSTART) versucht werden soll die verz”gerten Cachedaten noch zu schreiben. Im Allgemeinen sollte man diese Option eingeschaltet lassen. - GemDos im Menu 'Zubeh”r' klingt sich in den GemDos-Trap ein und setzt vor jedem Fsfirst() und Fsnext() das Lock-Bit, damit soll erreicht werden das die gesamte Directorystruktur im Cache festgehalten wird. - UHR im Menu 'Zubeh”r' stellt eine bestimmte Hardwareuhr (meine) beim Start Jetzt zu den weiteren Menus im Menu 'Zubeh”r': - Ramdisk erlaubt es ein Ramdisk zu installieren oder zu entfernen. Im Menu Ramdisk hat man folgende Einstellm”glichkeiten: Gr”áe der Ramdisk 32..9999 KByte. Laufwerkkennung alle nicht benutzten Laufwerke k”nnen gew„hlt werden. resetfest oder nicht (z.Z. nicht untersttzt). Zur Ramdisk ist noch zu sagen: Wenn man eine Ramdisk installiert oder entfernt werden die anderen Einstellungen, die seit Start des ACC's vorgenommen wurden, NICHT bernommen. Ich habe diesen Weg gew„hlt, weil ich sonst zuviele Einstellung an die neue Laufwerkskonfiguration anpassen máte. Wenn man versucht eine Ramdisk zu entfernen obwohl sich noch Daten auf eben dieser befinden, erscheint eine Alertbox in der man entscheiden kann ob die Ramdisk entfernt werden soll oder nicht. Die Ramdisk kann nicht eingerichtet oder entfernt werden wenn das Konfigurationprogramm (TC62_ACC) als Applikation unter MinT oder Mag!x gestartet wurde. Dr Grund ist das in diesen F„llen der Speicher ganz normal mit Malloc() angefordert wird (ohne ACT_PD zu manipulieren) und beim Verlassen des Programmes wrde der Speicher wieder freigegeben werden. - ACC-Ordner bietet folgende M”glichkeiten. Sollen ACC's aus Ordner geladen werden (Button gew„hlt) oder nicht. Pfad fr die ACC's aus dem die Accessories geladen werden sollen. Wenn man den alten Pfad anklickt ”ffnet sich eine Fileselektorbox, mit der man den neuen Pfad fr ACC's setzen kann. Bei ACC's, die man in Ordner versteckt und die ein separates RSC-File besitzen, kommt es vor das eben diese ACC's ihr RSC nicht finden wenn es ebenfalls im ACC-Ordner steht. Man k”nnte jetzt auch fr die RSC-Files eine Routine schreiben, aber warum, das AES benutzt diese doch schon. Man nehme einen sogenannten Enviroment-Setter und stelle die Enviroment-Variable PATH ebenfalls auf den ACC-Ordner ein und schon werden die RSC-Dateien auch aus dem Ordner geladen. Diese Option darf bei der Multitaskingerweiterung 'Mag!x' NICHT eingeschaltet sein. - Steprate erlaubt es die Steprate fr Laufwerk 'A' und 'B' zu setzen. Die Stepraten werden nur eingestellt, wenn auch der entsprechende Button beim Programmende selektiert war. TCache.PRG stellt die Stepraten auch beim Booten ein, wenn man mit selektierten Button gespeichert hat. - 'Virtuell' erlaubt es virtuelle Laufwerke einzurichten. Eine etwas genauere Beschreibung befindet sich bei der Cookie-Funktion RBVirtuell. Nur kurz: virtuelle Laufwerke sind nicht wirklich vorhanden sondern nur beim Betriebssystem als vorhanden angemeldet. Diese Option macht nur mit der Laufwerksumlenkung sinn. Zusammen mit der Laufwerksumlenkung kann man auf jedem ST/STE/TT jede Konfiguration simulieren. Im Prinzip ist es m”glich selbst mit nur einem Diskettenlaufwerk 16 Laufwerke zu simulieren aber hier drfte der Speicherplatz einer Diskette enge Grenzen setzen. - Information l„át eine weitere Seite mit hochinformativen Daten erscheinen. Absolut Lesen zeigt an, wie viele Lesezugriffe auf die Festplatte gemacht wurden ohne die Partitionsinformation zu beachten. Dieser Wert k”nnte Virenaktivit„ten anzeigen. Absolut Schreiben zeigt an wie viele Schreibzugriffe auf die Festplatte gemacht wurden ohne die Partitionsinformation zu beachten. Dieser Wert k”nnte Virenaktivit„ten anzeigen. Falls man eine Festplatte formatiert oder partitioniert ist es durchaus normal wenn hie Werte != 0 erscheinen. Es werden auch noch die Anzahl der Zugriffe auf einzelne Sektoren, Zugriffe auf mehrere Sektoren, Gesamtzahl der Zugriffe, Gesamtzahl der gesparten Zugriffe und Gesamtzahl der gesparten Zugriffe in Prozent angezeigt. - Das Ende ist wohl selbsterkl„rend. - Schreibfehler zeigt Probleme mit Medien im Zusammenhang mit 'Schreiben verz”gern' an. Ab Version 6.0 kann das ACC Probleme melden wenn es auch als ACC benutzt wird. Der Punkt 'Mediach() bei Hit' bedarf einer etwas genaueren Erkl„rung sch„tze ich. Wenn Daten, von z.B. einer Diskette, im Cache stehen werden diese auch noch gefunden obwohl die Diskette mittlerweile gewechselt wurde, das ist sehr ungnstig. Wenn man 'Mediach() bei Hit' aktiviert hat wird fr jeden Zugriff bei einem Cachehit berprft ob die Diskette eventuell gewechselt wurde, und damit verl„uft eine Cacheoperation relativ sicher. Dieser Punkt sollte fr alle wechselbare Medien (Disketten, Wechselplatten, CD-Roms oder MO's) eingeschaltet sein. Bei Festplatten hat man den Vorteil, daá ein Ausschalten dieser Option bei einigen Zugriffen bis zu 10% Geschwindigkeitszuwachs bringt. Falls man auch bei Disketten usw. diesen Punkt ausschaltet MUá nach jedem Diskettenwechsel ein sogenannter 'forced mediachange' erzwungen werden, z.B. d ch im Desktop. Wenn die Belegungszahl im Menu 'Parameter'invers angezeigt wird, dann bedeutet das daá der Cachespeicher komplett mit gesperrten (gelockten) Daten voll ist. Es werden in diesem Fall also keine neuen Sektoren ins Cache bernommen. Bei den Punkten 'Ok' und 'Speichern' werden alle eingestellten Daten an TCache62.PRG bergeben. Speichergr”áe und Gr”áe der Hashtabelle werden allerdings nur wirksam, wenn die Parameter mit 'SPEICHERN' gesichert worden sind und ein Reset ausgefhrt wurde. Beim Aufrufen von TC_ACC62 und beim Laufwerkwechsel treten Pausen auf, weil ein Dfree() Aufruf get„tigt wird. Bei TOS 1.00 kann es einige Sekunden dauern. Auáer den cacherelevanten Daten setzt TC_ACC62 beim Start auch den Clipboardpfad auf 'C:\CLIPBRD' falls noch keiner vorhanden war. Diese Funktion habe ich fr mich eingebaut weil eines meiner Lieblingsacc's dies so haben m”chte. Falls TC_ACC62 als Accessory l„uft erfllt es noch zwei weitere Aufgaben: - Alle 5 Sekunden sieht es nach ob TCache62.PRG noch vorhanden ist obwohl es schon installiert wurde. Falls einmal ein Test nicht erfolgreich war ”ffnet sich eine Dialogbox die auf diesen Vorfall aufmerksam macht. Sollte das ACC TCache einmal nicht mehr finden gibt es die Meldung aus das TCache entfernt wurde. Der Grund fr dieses Verhalten ist das der Cookie 'TCRB' auf einem unbekannten Grund nicht mehr vorhanden ist. Die zweite m”gliche Meldung ist das TCache sich deinstalliert hat. Der Grund fr diese Meldung ist das TCache eine unbefugte Žnderung an seinem Programmcode festgestellt hat. Im zweiten Fall ist Vorsicht geboten, weil ein Fremdprogramm unerlaubte Speicherbereiche ver„ndert hat. Falls man den Button XBra-Check gew„hlt hat, kann ein m”glicher Grund die Entfernung einer Ramdisk sein, die man VOR TCache installiert hat. Die zweite Meldung kann man auch bekommen wenn man TC_ACC62 als Programm aufruft. Der Grund ist der selbe. - Alle 5 Sekunden sieht das ACC nach, ob ein Fehler beim Schreiben aufgetreten ist und noch nicht behoben wurde. Falls ein Fehler noch nicht behoben werden konnte, erscheint eine Alertbox mit der Fehlernummer, dem Fehlerlaufwerk und dem Fehlersektor. Jetzt bietet das ACC die M”glichkeiten an den Fehler zu ignorieren (Abbruch) oder es weiter zu versuchen (weiter). Falls Abbruch gew„hlt wurde sind mit an Sicherheit grenzender Wahrscheinlichkeit Daten verloren gegangen. Um mal zu zeigen wie sicher TCache eigentlich ist, empfehle ich folgenden Test mit einer neuen, formatierten Diskette: TC_ACC62 als ACC installieren und neu Booten, Verz”gerungszeit auf 90VBI stellen, 'Schreiben verz”gern' fr das Diskettenlaufwerk aktivieren (anw„hlen) und ein paar Dateien von der Festplatte auf Diskette kopieren. Sobald die Dialogbox vom Kopieren verschwindet Diskette aus dem Laufwerk entfernen. Nach einiger Zeit sollte TCache versuchen Daten auf das Laufwerk zu schreiben das merkt man am rattern des Laufwerks. Nach sp„testens 5 Sekunden sollte das ACC einen Fehler (-6==seek track) melden. Jetzt Diskette wieder einlegen und weiter w„hlen. Nach ein paar Augenblicken wird alles auf Diskette geschrieben und keine Daten sind verloren gegangen. Dies sollte nur ein Test und nicht der Regelfall sein. Da das Ganze mit einer, wie ich finde, sauber aufgebauten Dialogbox vonstatten geht, sollte jeder damit klarkommen. Sonst bitte melden. --------------------------------------------------------------------------- 6. TC_Lock.PRG TC_Lock ist ein kleines Hilfsprogramm, daá zeigen soll, wie einfach man TCache fernsteuern kann. TC_Lock hat den Sinn, daá man einige Programme automatisch in den Cachespeicher eintragen kann und diese dort sperren. TC_Lock wird einfach gestartet. Dann liest es die Datei TC_Lock.inf (im gleichen Pfad) ein und liest alle Programme, die dort mit vollem Pfad stehen, ein und sperrt diese im Cache. Wenn das Zeichen '0' als erstes Zeichen in der Datei steht,wird der Cache vorher noch gel”scht. Der Anwender ist selbst dafr verantwortlich, daá die maximale Sektorl„nge und der Cachespeicher reichen. TC_LOCK.INF darf maximal 65536 Byte lang sein (wird wohl niemand erreichen) und die Dateien drfen maximal 262144 Byte lang sein. Das heiát aber nicht, daá diese auch bei falscher TCache-Einstellung gepuffert werden. Ich glaube es ist klar das TC_Lock NUR nach TCache gestartet werden darf. TC_Lock ist nur auf den von mir versandten Disketten enthalten. --------------------------------------------------------------------------- 7.TC_Ram.PRG Žhnlich wie TC_Lock ist TC_Ram ein Hilfsprogramm um aufzuzeigen wie einfach man TCache ber die Cookiefunktionen steuern kann. TC_Ram richtet automatisch eine Ramdisk unter TCache ein. Logischerweise muá TC_Ram NACH TCache gestartet werden. Um mir die Sache einfach zu machen, kann man Gr”áe und Laufwerkskennung der Ramdisk NUR im Quelltext „ndern. Im Programmpacket TCache ist TC_Ram auf 4MB und Laufwerk 'M' eingestellt. TC_Ram l„uft auch im Autoordner. TC_Ram ist nur auf den von mir versandten Disketten ent lten. --------------------------------------------------------------------------- 8.BENCHMARKS Benchmarks habe ich zwar durchgefhrt (durchfhren lassen) aber die Werte finde ich nicht fr besonders aussagekr„ftig, denn je nachdem welches Programm ich auffhre kann ich hier mit Geschwindigkeitssteigerungen zwischen 30 und 13000% prahlen. Jeder sollte das Programm auf seiner Konfiguration testen und selbst entscheiden, ob er TCache benutzt oder nicht. --------------------------------------------------------------------------- 9.Tips und Tricks TCache hat im 'normalen' Alltagsbetrieb fast nur Vorteile. Leider gibt es auch Anwendungen, wo ein Cacheprogramm die Sache verz”gert. Deswegen hier ein paar Beispiele, wann man TCache wie einstellen sollte. - Die sogenannten Festplattenpacker (HDPACK, CHKDISK3 ...) greifen haupts„chlich auf einzelne Sektoren zu. Wenn der 'Packer' gut geschrieben ist, legt er sich am Anfang eine Tabelle der zu vertauschenden Sektoren an. Das eigentliche Packen besteht nur aus der Abarbeitung der Tabelle. Zum Schluá werden FAT und DIR angepasst. Bei dieser Anwendung w„re es warscheinlich schneller, ohne TCache zu arbeiten (mit TC_ACC62 ausschalten). Zeittests habe ich allerdings nicht durchgefhrt. Ich habe alle meine Partionen MIT TCache gepackt und keine Probleme gehabt. Da man das Packen nicht rckg„ngig machen kann, sind Geschwindigkeitsvergleiche sehr schwer zu machen. - Die Installation groáer Programmpakete besteht haupts„chlich aus Kopieren und/ oder Entpacken von einigen Hundert Dateien. Da diese Dateien nur einmal von Diskette/Archive gelesen werden und auch nur einmal geschrieben werden, sollte man die gr”áte Blockgr”áe auf 2 oder 4 setzen da ansonsten fast jede Datei auch noch zwischenzeitlich im Cache landet und dies kostet Zeit. Allerdings hat es sich als Vorteil erwiesen bei solchen Aktion 'FAT & RootDir sperren' einzuschalten und zwar sowohl fr die Quelle als auch das Ziel. - Je gr”áer der Prefetchpuffer, umso besser kann TCache beim delayed write optimieren. Wenn man Schreiben verz”gern aktiviert hat, sollte man den Prefetchpuffer am Besten zwischen 16 und 32 einstellen. Hat man Schreiben verz”gern nicht aktiviert, so sollte der Prefetchpuffer auf 10 Sektoren stehen. - Mit dem Schreiben verz”gern kann man auch spielen. Je kleiner der Wert fr VBI umso sicherer arbeitet TCache. Ein hoher Wert fr VBI bedeutet eine l„ngere Wartezeit und kann in Einzelf„llen eine Menge Zeit sparen. Normal sollte man VBI mindestens auf 20-30 stehen haben (ca. 30-60 msec). Der h”chste Wert (99) bedeutet ca. 1.4-2 Sekunden Verz”gerung. Ich habe meine Verz”gerung auf 90 stehen. - Man sollte versuchen nicht GEM und BGM Partitionen gleichzeitig zu verwenden. Von TCache wird zwar praktisch jede Kombination untersttzt nur wird beim Mischbetrieb Speicher verschenkt, da die Sektoranzahl die in den Cachespeicher paát von der gr”áten Sektorl„nge abh„ngt. Ab Version 6.1 kann man beim gemischten Betrieb die Benutzung von TCache optimieren. Wenn man den Schalter PUN-INFO ausschaltet und die BGM-Partitionen deaktiviert hat TCache wieder eine optimale Ausnutzung des Speichers, leider wird das/die BGM-Laufwerke dadurch nicht mehr untersttzt. - Die Optionen 'Schreib neues', 'Fat & Rootdir' und 'GEMDOS' sorgen bei einigen Benchmarkprogrammen fr eine Verschlechterung. M”chte man die optimalen Werte erreichen mssen diese 3 Optionen ausgeschaltet werden. --------------------------------------------------------------------------- 10.BEKANNTE PROBLEME Wenn VOR TCache speicherresidente Programme, die sich in Vektoren einbinden die auch von TCache benutzt werden, installiert werden und NACH der Installation von TCache wieder entfernt