|
Netzwerkfähigkeit
Optimierungen
Sicherheit im Netzbetrieb
Aktivierung der Netzfunktionen
Exklusiver Dateizugriff
Read-Only Dateizugriff
Kritische Befehle
Dateihandle-Tabelle erweitern
FATS ist standardmäßig für den Betrieb im Netzwerk ausgestattet. Beinahe alle Befehle können sowohl im Einzelplatz- als auch im Netzwerkbetrieb ausgeführt werden.
Unterstützt werden die Netzbetriebssysteme Novell, Windows for Workgroups, Bayon Vines, NetBios und alle zum MS-Net Standard kompatible Netze. Unter MS-Windows oder in Peer-To-Peer Netzen sollten Sie das DOS-Programm SHARE.EXE laden, andere Netzwerke wie z.B. Novell Netware arbeiten mit eigenen Treibern (NETX, ODI).
FATS wurde für den Netzwerkbetrieb optimiert. Verschiedene Mechanismen garantieren eine ebenso sichere wie schnelle Verarbeitung im Netz.
Es ist deshalb für den Anwendungsprogrammierer nicht notwendig, eigene Netzfunktionen für die Arbeit mit den FATS-Dateien zu entwickeln.
FATS bietet Ihnen im Netz- wie auch im Einzelplatzbetrieb ein sehr hohes Maß an Sicherheit für Ihre Daten.
Nach jedem FATS-Befehl, der Daten verändert, werden die internen Cachepuffer von FATS auf die Platte geschrieben und danach mit entsprechenden DOS-Befehlen ein Flush, d.h. ein Zurückschreiben der vom Betriebssystem verwalteten Sektorpuffer erwirkt und der Verzeichniseintrag der jeweiligen Datei aktualisiert.
Dadurch wird garantiert, daß nach dem Aufruf von FATS alle veränderten Daten auf die Platte geschrieben wurden und vor einem eventuellen Stromausfall oder Systemabsturz sicher sind.
Sie können die genannten Schutzmechanismen ganz oder teilweise deaktivieren, um dadurch die Verarbeitungsgeschwindigkeit zu steigern.
Nähere Informationen dazu finden sie in der Befehlsreferenz ( Seite 4-113).
Aktivierung der Netz-Funktionen
Standardmäßig sind die Netzfunktionen ausgeschaltet. Sie können diese mit dem Befehl Auto Refresh (Y) initialisieren. (siehe Seite 4-113). Diese Initialisierung wird normalerweise beim Programmstart erledigt und gilt dann für die gesamte Laufzeit des Programmes.
Folgende Einstellungen aktivieren den Netzbetrieb:
Die bisher vorgestellten Netzwerkeinstellungen deaktivieren die in FATS eingebauten Cache-Routinen zugunsten der Sicherheit. Bei allen Dateien, die von mehreren Stationen im ständigen Zugriff sein müssen, ist diese Maßnahme gerechtfertigt.
In bestimmten Situationen, wie z.B. dem Neuaufbau bzw. der Reorganisation von Dateien oder der Bearbeitung temporärer Dateien, bei denen nur eine Station Zugriff auf eine bestimmte Datei hat, wäre der Einsatz der Cache-Routinen jedoch wünschenswert.
Für diese Fälle wurden Mechanismen in FATS implementiert, die einer Arbeitsstation exklusive Datei-Zugriffsrechte erteilen.
Die exklusiven Rechte werden folgendermaßen aktiviert:
Die Einstellung "Y\108" entspricht der auf der vorangehenden Seite erläuterten Einstellung "Y\2", durch das exklusive Zugriffsrecht werden allerdings keine weiteren Sperrmechanismen benötigt. Mit der Einstellung "Y\111" aktivieren Sie den "Server-Flush".
"Y\106" schließlich verzögert das Zurückschreiben geänderter Daten und kann die Verarbeitung dadurch bis zu 30x schneller machen.
Eine detailierte Beschreibung dieser Einstellungen finden Sie auf der Seite 4-113.
Mit der Einstellung "Y\107" können Sie vereinbaren, daß eine Datei nur zum Lesen geöffnet wird, d.h. jeder Versuch, die Datei mit schreibenden Befehlen zu manipulieren wird mit dem Fehlercode 25 (Schreibfehler) quittiert. Andere Stationen können ebenfalls keine schreibenden Befehle ausführen, die Datei jedoch ebenfalls lesen. Da bei dieser Einstellung geöffnete Dateien netzwerkweit mit "ReadOnly"-Zugriffsrechten arbeiten, sind keine weiteren Sperrmechanismen notwendig.
Diese Einstellung führt nur dann zum Erfolg, wenn alle Stationen die entspr. Datei mit "ReadOnly"-Attribut öffnen.
Und so wird eine Datei mit Read-Only-Attribut geöffnet:
1.) Zugriffsmodus Y\107 ausführen
2.) Eine oder mehrere Indexdateien öffnen oder erstellen
3.) Ursprünglichen Zustand restaurieren ("Y\2", "Y\3" etc.)
(Bitte lesen Sie dazu auch die Erklärungen der vorangehenden Seiten)
Jede Veränderung der Indexdatei durch das Einfügen oder Löschen von Schlüsseln macht einen für die Befehle Search Next (N) & Search Previous (P) notwendigen internen Zeiger ungültig, wodurch diese Befehle fehlschlagen. Da dies im Netzwerk auch von einer anderen Station aus passieren kann, sollten Sie in Netzwerkumgebungen die Befehle Search Next After (A) & Search Previous Before (E) verwenden.
Folgende Befehle müssen im Netzwerkbetrieb ersetzt werden:
Die FATS-Basisversion für MS-DOS liegt in zwei verschiedenen Versionen vor:
FATS.OBJ | Arbeitet mit DOS-Datei Handles (DOS 2.x -) (Pfadangabe erlaubt, kompatibel zur FABS Plus Version 4.x) |
FATS_.OBJ | Arbeitet mit File-Control-Blocks (CP/M Stil) (kompatibel zur FABS Version 3.x) |
Für den Betrieb im Netzwerk ist die erste Version (FATS.OBJ) zu empfehlen, allerdings müssen Sie dabei beachten, daß DOS normalerweise maximal 15 Datei-Handles á Prozess zuläßt, wobei Ihre Datendateien ebenfalls Handles benötigen.
Ab DOS Version 3.3 gibt es einen dokumentierten Befehl, der eine Erweiterung der Handle-Tabelle erlaubt. Um diesen Befehl zu nützen, darf Ihr Compiler nicht den gesamten DOS-Speicher reservieren, d.h. es muß ggf. Speicherplatz durch die Verkleinerung des Heaps an DOS zurückgegeben werden. Bitte suchen Sie in der Anleitung zum Compiler nach einem entsprechenden Befehl.
Der Eintrag FILES= in der Config.sys muß ebenfalls auf die größere Anzahl offener Dateien angepaßt werden.
Wenn Sie mehr als 15 Dateien á Programm öffnen wollen, müssen Sie folgende Änderungen vornehmen:
- Wenn Sie mit SHARE.EXE arbeiten, dann müssen Sie den Speicherbereich für Dateisperren mit dem Parameter SHARE /F:nnnnn erhöhen.
Bitte lesen Sie dazu Ihr MS-DOS Handbuch.
- Die Workstation-Shell von Novell-Netware erlaubt standardmäßig 40 offene Dateien. Auch diese Vorgabe kann bei Bedarf geändert werden
- Verkleinern Sie den Heap-Speicher Ihrer Anwendung. In Basic erreichenSie das mit der Funktion SETMEM (siehe Beispiel).
- Rufen Sie die Funktion 67h des MS-DOS Interrupts aus Ihrem Programm auf, wie im nachfolgenden Beispiel beschrieben.
Beispiel: (Visual Basic für DOS)
InRegs.AX = &H6700 ' Nummer der SetFileHandles Funktion
InRegs.BX = 41 ' Neue Anzahl Dateien (muß unter der DOS-
' Version 3.3 eine ungerade Zahl sein)
CALL INTERRUPT(&H21, InRegs, OutRegs)
© 2008 GCS Software, Udo Gertz