共用方式為


oplocks 的類型

本文說明 oplock 的類型

  • 目前有四種 oplock 類型。
  • 四種 oplock 類型會被視為舊版。

舊版 oplocks

下列四個 oplock 是在 Windows NT 3.1 (層級 1、層級 2、Batch) 和 Windows 2000 (Filter) 中實作,並視為「舊版 oplocks」:

  • 層級 1 (獨佔) oplock 可讓客戶端開啟數據流以進行獨佔存取,並執行任意緩衝。 此 oplock 支援用戶端讀取快取和寫入快取。

  • 層級 2 (共用) oplock 表示數據流有多個讀取器且沒有寫入器。 此 oplock 支援用戶端讀取快取。

  • Batch oplock (獨佔) 可讓用戶端在伺服器上保持數據流開啟,即使用戶端電腦上的本機存取子已關閉數據流也一樣。 此 oplock 支援用戶端需要重複開啟和關閉相同檔案的案例,例如在批次腳本執行期間。 它支援用戶端讀取快取、寫入快取和處理快取。

  • 篩選 oplock (獨佔) 可讓應用程式和檔案系統篩選驅動程式在其他應用程式、用戶端或兩者嘗試存取相同的數據流時,開啟和讀取串流數據的方式。 此 oplock 支援用戶端讀取快取和寫入快取。

目前的 「Windows 7」 oplocks

Windows 7 中新增了下列 oplock,因此統稱為「Windows 7 oplocks」:

  • 讀取 (R) oplock (共用) 表示數據流有多個讀取器且沒有寫入器。 此 oplock 支援用戶端讀取快取。

  • 讀取句柄 (RH) oplock (共用) 表示數據流有多個讀取器、沒有寫入器,而且用戶端可以在伺服器上保持數據流開啟,即使用戶端計算機上的本機存取子已關閉數據流也一樣。 此 oplock 支援用戶端讀取快取和處理快取。

  • 讀寫 (RW) oplock (獨佔) 可讓用戶端開啟數據流以進行獨佔存取,並允許用戶端執行任意緩衝。 此 oplock 支援用戶端讀取快取和寫入快取。

  • 讀取寫入句柄 (RWH) oplock (獨佔) 可讓用戶端在伺服器上保持數據流開啟,即使用戶端電腦上的本機存取子已關閉數據流也一樣。 此 oplock 支援用戶端讀取快取、寫入快取和處理快取。

某些舊版的 oplock 看起來可能類似於 Windows 7 oplock。 特別是,R 似乎與層級 2 類似,RW 似乎類似於層級 1,而 RWH 似乎類似於 Batch。 但它們確實不同。 Windows 7 oplock 已新增至:

  • 為呼叫端提供更大的彈性來表示快取意圖。
  • 允許 oplock 中斷和升級;也就是說,若要允許將 oplock 狀態從一個層級修改為更高層級的快取 (例如,將讀取 oplock 升級至 Read-Write oplock) 。

此彈性無法透過舊版 oplock 來達成。