Compartilhar via


Tipos de Oplock

Este artigo descreve os tipos de oplocks.

  • Quatro tipos de oplock estão disponíveis atualmente.
  • Quatro tipos de oplock são considerados obsoletos.

Oplocks herdados

Os quatro oplocks a seguir foram implementados no Windows NT 3.1 (Nível 1, Nível 2, Lote) e Windows 2000 (Filtro) e são considerados "oplocks herdados":

  • Um oplock de Nível 1 (exclusivo) permite que um cliente abra um fluxo para acesso exclusivo e execute buffer arbitrário. Esse oplock dá suporte ao cache de leitura do cliente e ao cache de gravação.

  • Um oplock de Nível 2 (compartilhado) indica que há múltiplos leitores de um fluxo e nenhum escritor. Esse oplock dá suporte ao cache de leitura do cliente.

  • Um Batch oplock (exclusivo) permite que um cliente deixe um fluxo aberto no servidor, mesmo que o aplicativo local no computador cliente tenha fechado o fluxo. Esse oplock dá suporte a cenários em que o cliente precisa abrir e fechar repetidamente o mesmo arquivo, como durante a execução do script em lotes. Ele dá suporte ao cache de leitura do cliente, ao cache de gravação e ao cache de identificador.

  • Um filtro oplock (exclusivo) permite que aplicativos e drivers de filtro do sistema de arquivos, que abrem e leem dados de fluxo, uma forma de "recuar" quando outros aplicativos, clientes ou ambos tentam acessar o mesmo fluxo. Esse oplock dá suporte ao cache de leitura do cliente e ao cache de gravação.

Oplocks atuais do "Windows 7"

Os oplocks a seguir foram adicionados no Windows 7 e, portanto, são coletivamente conhecidos como "oplocks do Windows 7":

  • Um Read (R) oplock (compartilhado) indica que há vários leitores de um fluxo e nenhum escritor. Esse oplock dá suporte ao cache de leitura do cliente.

  • Um oplock RH (Read-Handle, compartilhado) indica que há vários leitores de um fluxo de dados, sem escritores, e que um cliente pode manter um fluxo de dados aberto no servidor, mesmo que o acessador local no computador cliente tenha fechado o fluxo de dados. Esse oplock dá suporte ao cache de leitura do cliente e ao cache do identificador.

  • Um oplock de Leitura-Gravação (RW) (exclusivo) permite que um cliente abra um fluxo para acesso exclusivo e realize bufferização arbitrária. Esse oplock dá suporte ao cache de leitura do cliente e ao cache de gravação.

  • Um oplock RWH ( Read-Write-Handle ) (exclusivo) permite que um cliente mantenha um fluxo aberto no servidor, mesmo que o acessador local no computador cliente tenha fechado o fluxo. Esse oplock dá suporte ao cache de leitura do cliente, ao cache de gravação e ao cache de manipulação.

Alguns oplocks herdados podem parecer semelhantes aos oplocks do Windows 7. Em particular, R parece semelhante ao Nível 2, RW parece semelhante ao Nível 1, e RWH parece semelhante ao processamento em Lote. Mas eles são realmente diferentes. Os oplocks do Windows 7 foram adicionados a:

  • Forneça maior flexibilidade para o chamador expressar intenções de cacheamento.
  • Permitir interrupções e atualizações do oplock; ou seja, permitir a modificação do estado oplock de um nível para outro com maior capacidade de cache (por exemplo, atualizar um oplock de leitura para um oplock Read-Write).

Essa flexibilidade não é possível com os antigos oplocks.