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.