Konsistenz der Daten in der Plattendatei beim Multi-User-Betrieb
Durch die Angabe SHARUPD=*YES bei der Funktion OPEN erreicht der Benutzer, dass mehrere Schreiber eine Datei gleichzeitig bearbeiten können.
Konsistenz der Daten in der Plattendatei nach einem Systemausfall
Wenn SAVE durch einen Systemausfall (oder durch einen Taskabsturz) abgebrochen wird, kann es sein, dass einige modifizierte Seiten bereits in die Datei geschrieben wurden, andere noch nicht.
Der Inhalt der Plattendatei kann also in einem solchen Fall in einem inkonsistenten Zustand sein.
Konsistenz der Daten in einem Fenster beim Multi-User-Betrieb
In einem Fenster können inkonsistente Daten durch parallele Tasks nur dann erscheinen, wenn ein paralleler Schreiber die Seiten des entsprechenden Dateibereichs verändert und eine geänderte Seite nach einem Zugriff im Fenster erscheint.
Folgende Eröffner sind von Änderungen von Fensterseiten durch einen parallelen Schreiber nicht betroffen:
SHARUPD=*NO-Eröffner (es kann keinen parallelen Schreiber geben),
SHARUPD=*WEAK-Schreiber (es kann keinen parallelen Schreiber geben),
SHARUPD=*WEAK-Leser, falls bei OPEN der Operand LOCVIEW=*MAP spezifiziert ist.
DIV stellt dann sicher, dass während des Einlesens der Fensterseiten zum MAP-Zeitpunkt keine Seiten von einem parallelen Schreiber in der Datei (durch SAVE) verändert werden können. Nachdem die Seiten eingelesen sind, können sie von einem parallelen Schreiber verändert werden.
Konsistenz der Daten in einem Fenster nach einem Systemausfall
Modifizierte Daten, die nur im Fenster modifiziert und noch nicht in die Plattendatei zurückgeschrieben wurden, sind verloren.
Aktualität der Daten in einem Fenster
In einem Fenster können Daten nur dann an Aktualität verlieren, wenn ein paralleler Schreiber die Seiten des entsprechenden Dateibereichs verändert und eine geänderte Seite nach einem Zugriff im Fenster erscheint.
In diesem Zusammenhang ist die Beachtung folgender Eigenschaften von DIV wichtig:
Eine Fensterseite wird beim ersten Zugriff aus der Datei eingelesen und ist im weiteren Ablauf nur evtl. Änderungen durch CPU-Befehle unterworfen.
Erst nach einem RESET wird sie bei einem erneuten Zugriff aus der Datei eingelesen.Ob eine Seite bei einem Zugriff einzulesen ist, hängt auch davon ab, ob es überhaupt eine entsprechende Dateiseite gibt, d.h. ob die Seite vor oder nach dem logischen Dateiende liegt.
Wann die Veränderung des logischen Dateiendes durch einen parallelen Schreiber für einen anderen Eröffner wirksam wird, ist implementierungsabhängig. Der Benutzer darf sich nicht darauf verlassen, dass Änderungen des logischen Dateiendes durch einen parallelen Schreiber auch in seinen Fenstern sichtbar werden.