Typen von Oplocks
In diesem Artikel werden die Arten von Oplocks beschrieben.
- Vier oplock-Typen sind aktuell.
- Vier Oplock-Typen gelten als legacy.
Legacy-Oplocks
Die folgenden vier Oplocks wurden in Windows NT 3.1 (Level 1, Level 2, Batch) und Windows 2000 (Filter) implementiert und gelten als "Legacy oplocks":
Ein Oplock der Ebene 1 (exklusiv) ermöglicht es einem Client, einen Stream für exklusiven Zugriff zu öffnen und eine beliebige Pufferung durchzuführen. Dieser Oplock unterstützt das Zwischenspeichern von Lese- und Schreibvorgängen von Clients.
Ein Oplock der Ebene 2 (freigegeben) gibt an, dass es mehrere Leser eines Streams und keine Writer gibt. Dieser Oplock unterstützt die Zwischenspeicherung von Clientlesevorgängen.
Ein Batch-Oplock (exklusiv) ermöglicht es einem Client, einen Stream auf dem Server offen zu halten, obwohl der lokale Accessor auf dem Clientcomputer den Stream geschlossen hat. Dieser Oplock unterstützt Szenarien, in denen der Client dieselbe Datei wiederholt öffnen und schließen muss, z. B. während der Batchskriptausführung. Es unterstützt das Zwischenspeichern von Clientlesevorgängen, das Zwischenspeichern von Schreibvorgängen und die Verarbeitung der Zwischenspeicherung.
Ein Filter-Oplock (exklusiv) ermöglicht Anwendungen und Dateisystemfiltertreibern, die Datenstromdaten öffnen und lesen, eine Möglichkeit zum "Backout", wenn andere Anwendungen, Clients oder beide versuchen, auf denselben Stream zuzugreifen. Dieser Oplock unterstützt das Zwischenspeichern von Lese- und Schreibvorgängen von Clients.
Aktuelle "Windows 7"-Oplocks
Die folgenden Oplocks wurden in Windows 7 hinzugefügt und werden daher zusammen als "Windows 7-Oplocks" bezeichnet:
Ein Lese-Oplock (R) (freigegeben) gibt an, dass es mehrere Leser eines Streams und keine Writer gibt. Dieser Oplock unterstützt die Zwischenspeicherung von Clientlesevorgängen.
Ein Read-Handle-Oplock (RH) (freigegeben) gibt an, dass es mehrere Reader eines Datenstroms und keine Writer gibt und dass ein Client einen Stream auf dem Server geöffnet halten kann, obwohl der lokale Accessor auf dem Clientcomputer den Stream geschlossen hat. Dieser Oplock unterstützt das Zwischenspeichern von Clientlesevorgängen und das Zwischenspeichern von Verarbeitungsvorgängen.
Ein Lese-/Schreibzugriff (RW)-Oplock (exklusiv) ermöglicht es einem Client, einen Stream für exklusiven Zugriff zu öffnen, und ermöglicht es dem Client, eine beliebige Pufferung durchzuführen. Dieser Oplock unterstützt das Zwischenspeichern von Lese- und Schreibvorgängen von Clients.
Ein RwH-Oplock (Read-Write Handle ) (exklusiv) ermöglicht es einem Client, einen Stream auf dem Server offen zu halten, obwohl der lokale Accessor auf dem Clientcomputer den Stream geschlossen hat. Dieser Oplock unterstützt das Zwischenspeichern von Clientlesevorgängen, das Zwischenspeichern von Schreibvorgängen und die Verarbeitung der Zwischenspeicherung.
Einige Legacy-Oplocks ähneln möglicherweise Windows 7-Oplocks. Insbesondere R scheint Level 2 zu ähneln, RW scheint Level 1 zu ähneln, und RWH scheint Batch ähnlich zu sein. Aber sie sind in der Tat anders. Die Windows 7-Oplocks wurden hinzugefügt zu:
- Bieten Sie dem Aufrufer mehr Flexibilität, um Zwischenspeicherungsabsichten auszudrücken.
- Oplock-Unterbrechungen und Upgrades zulassen; Das heißt, um die Änderung des Oplockzustands von einer Ebene auf eine Ebene mit größerem Zwischenspeichern zu ermöglichen (z. B. ein Upgrade eines Read-Oplocks auf einen Read-Write oplock).
Diese Flexibilität ist mit den Legacy-Oplocks nicht erreichbar.