FATS - Fast Access Tree System
Inhaltsverzeichnis
 Netzwerkbetrieb

Netzwerkbetrieb


 Netzwerkfähigkeit
 Optimierungen
 Sicherheit im Netzbetrieb
 Aktivierung der Netzfunktionen
 Exklusiver Dateizugriff
 Read-Only Dateizugriff
 Kritische Befehle
 Dateihandle-Tabelle erweitern


 
 
Netzwerkfähigkeit

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).


 
 
Optimierungen

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.


 
 
Sicherheit im Netzbetrieb

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:

Y\2 Netzwerkbetrieb, bei Satzsperre warten
Y\3 Netzwerkbetrieb, bei Satzsperre abbrechen

Durch diese Einstellungen wird ein Flag gesetzt, welches FATS dazu veranlaßt, vor jedem lesenden Befehl die gesamte Indexdatei für Schreibzugriffe zu sperren bzw. vor schreibenden Befehlen die Datei für Lese- und Schreibzugriffe zu sperren.
Wenn der Sperrvorgang erfolgreich war, dann werden die im FATS-Cachepuffer vorhandenen Daten auf den neuesten Stand gebracht (neu gelesen). Nach der Bearbeitung des jeweiligen Befehles werden die Sperren wieder entfernt, d.h. die Indexdateien sind außerhalb der FATS-Verarbeitung niemals gesperrt. Wenn die Datei momentan von einer anderen Station für Schreibzugriffe gesperrt ist, wird der Sperrversuch normalerweise wiederholt. Mit dem Befehl "Y\3" weisen Sie FATS an, bei einem erfolglosen Sperrversuch unverzüglich zum Anwendungsprogramm zurückzukehren.

Y\109  Netzwerkbetrieb, bei Satzsperre warten, erzwungener Server-Flush
Y\110  Netzwerkbetrieb, bei Satzsperre abbrechen, erzwungener Server-Flush

Bei manchen Netzwerken bewirkt der von DOS bereitgestellte Flush-Befehl kein sofortiges Aktualisieren der Datei. Bei dieser Einstellung gibt FATS die Kontrolle erst an das Anwenderprogramm zurück, wenn alle Daten auf die Festplatte des Servers geschrieben wurden. Da dabei sämtliche Cachemechanismen des Servers außer Kraft gesetzt werden und dadurch der Netzwerkbetrieb allgemein an Geschwindigkeit verliert, sollte diese Einstellung nur in Ausnahmefällen bzw. bei hochsensiblen Daten verwendet werden.


 
 
Exklusiver Dateizugriff

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:

1.) Zugriffsmodus Y\106, Y\108 oder Y\111 einstellen

Hiermit weisen Sie FATS an, alle nachfolgend geöffneten Dateien mit dem Attribut "Exklusiver Zugriff" zu öffnen.
Beachten Sie bitte, daß die damit geöffneten Dateien dieses Attribut behalten, bis sie geschlossen werden. Alle anderen mit den "Y"-Befehlen getätigten Einstellungen können während der Laufzeit verändert werden.

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.

2.) Eine oder mehrere Indexdateien öffnen oder erstellen

Wenn Sie beim Öffnen einer Indexdatei einen Fehlercode erhalten, dann hat möglicherweise bereits eine andere Station die Datei im Zugriff.

3.) Ursprünglichen Zustand restaurieren ("Y\2", "Y\3" etc.)

Nach dem Öffnen der entsprechenden Dateien muß der im 1. Schritt veränderte Zugriffsmodus restauriert werden, da sich die mit dem Befehl  Auto Refresh (Y) gemachten Einstellungen ansonsten auch auf alle anderen Dateien, auch die bereits geöffneten, auswirken würden.


 
 
Read-Only Dateizugriff

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)


 
 
Kritische Befehle

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:

Search Next (N) >>  Search Next After (A)
Search Previous (P) >>  Search Previous Before (E)


 
 
Dateihandle-Tabelle erweitern

Die FATS-Basisversion für MS-DOS liegt in zwei verschiedenen Versionen vor:

FATS.OBJArbeitet mit DOS-Datei Handles (DOS 2.x -)
(Pfadangabe erlaubt, kompatibel zur FABS Plus Version 4.x)
FATS_.OBJArbeitet 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:

- Ändern Sie den Eintrag FILES= in der Config.sys Datei(z.B. FILES=40 für 40 gleichzeitig geöffnete Dateien)

- 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)

X = SETMEM(-16384) ' Speicherplatz an DOS zurückgeben

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