Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описываются типы oplocks.
- Существует четыре типа оплоков.
- Четыре типа oplock считаются устаревшими.
Устаревшие оплоки
В Windows NT 3.1 (Уровень 1, Уровень 2, Пакетный) и Windows 2000 (Фильтр) были реализованы четыре оплока, которые считаются устаревшими.
Оплок уровня 1 (эксклюзивный) позволяет клиенту открывать поток для монопольного доступа и выполнять произвольную буферизацию. Эта операция поддерживает кэширование и кэширование записи клиента.
Оплок уровня 2 (общий) указывает, что существует несколько читателей потока и нет средств записи. Эта oplock поддерживает клиентское кэширование чтения.
Пакетная блокировка (эксклюзивная) позволяет клиенту удерживать поток открытым на сервере, даже если локальный доступ на клиентском компьютере закрыл поток. Эта оплок поддерживает сценарии, в которых клиенту необходимо многократно открывать и закрывать один и тот же файл, например во время выполнения пакетного скрипта. Он поддерживает кэширование клиентского чтения, кэширование записи и кэширование хендлов.
Фильтр oplock (монопольный) предоставляет приложениям и драйверам фильтров файловой системы, которые открывают и считывают потоковые данные, возможность "откатываться", когда другие приложения или клиенты пытаются получить доступ к тому же потоку. Оплок поддерживает кэширование чтения и кэширование записи клиента.
Текущие операции с Windows 7
Следующие оплоки были добавлены в Windows 7, и поэтому совместно называются "Windows 7 oplocks":
Оплок Read (R) (общий доступ) указывает на наличие нескольких читателей потока и отсутствие писателей. Эта oplock поддерживает кэширование чтения клиента.
Read-Handle (RH) оплок (общий) указывает, что имеется несколько читателей потока, без писателей, и что клиент может удерживать поток открытым на сервере, даже если локальный доступ на клиентском компьютере закрыл поток. Этот oplock поддерживает кэширование для чтения и кэширование дескрипторов.
Оплок чтения и записи (RW) позволяет клиенту эксклюзивно открывать поток для монопольного доступа и выполнять произвольную буферизацию. Этот оплок поддерживает кэширование чтения и кэширование записи клиента.
Эксклюзивная блокировка RWH (чтение-запись-управление) позволяет клиенту сохранять поток открытым на сервере, даже если локальный потребитель на клиентском компьютере закрыл поток. Эта оппортунистическая блокировка поддерживает кэширование чтения, кэширование записи и кэширование дескрипторов.
Некоторые устаревшие oplocks могут показаться похожими на oplocks в Windows 7. В частности, R кажется похожим на уровень 2, RW кажется похожим на уровень 1, и RWH кажется похожим на пакетную обработку. Но они действительно разные. Функция оппортунистических блокировок (oplocks) была добавлена в Windows 7:
- Обеспечивает большую гибкость для вызывающего абонента, чтобы выразить намерения кэширования.
- Разрешить прерывания и обновления оплоков; то есть, позволить изменять состояние оплока с одного уровня на уровень с большим кэшированием (например, обновление оплока чтения до оплока Read-Write).
Эта гибкость не достижима при использовании устаревших оплоков.