Compartilhar via


Tipos de oplocks

Este artigo descreve os tipos de oplocks.

  • Quatro tipos de oplock são atuais.
  • Quatro tipos de oplock são considerados herdados.

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á vários leitores de um fluxo e nenhum gravador. Esse oplock dá suporte ao cache de leitura do cliente.

  • Um oplock do Lote (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 a cenários em que o cliente precisa abrir e fechar repetidamente o mesmo arquivo, como durante a execução do script em lote. Ele dá suporte ao cache de leitura do cliente, ao cache de gravação e ao cache de identificador.

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

Oplocks "Windows 7" atuais

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

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

  • Um oplock rh (identificador de leitura) (compartilhado) indica que há vários leitores de um fluxo, sem gravadores e que um cliente pode manter 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 e manipula o cache.

  • Um oplock RW (leitura /gravação ) (exclusivo) permite que um cliente abra um fluxo para acesso exclusivo e permite que o cliente execute buffer arbitrário. 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 do identificador.

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 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 cache.
  • Permitir quebras e atualizações do oplock; ou seja, para permitir a modificação do estado oplock de um nível para um nível de cache maior (por exemplo, atualizar um oplock de leitura para um oplock Read-Write).

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