Partager via


Types d’oplocks

Cet article décrit les types d’oplocks.

  • Les quatre types d'oplock actuellement existants.
  • Quatre types oplock sont considérés comme hérités.

Oplocks hérités

Les quatre oplocks suivants ont été implémentés dans Windows NT 3.1 (Niveau 1, Niveau 2, Batch) et Windows 2000 (Filtre) et sont considérés comme « oplocks hérités » :

  • Un oplock de niveau 1 (exclusif) permet à un client d’ouvrir un flux pour un accès exclusif et d’effectuer une mise en mémoire tampon arbitraire. Cet oplock prend en charge la mise en cache de lecture du client et la mise en cache d’écriture.

  • Un oplock de niveau 2 (partagé) indique qu'il existe plusieurs lecteurs d’un flux et qu'il n'y a pas d'écrivains. Cet oplock prend en charge la mise en cache de lecture du client.

  • Un oplock Batch (exclusif) permet à un client de conserver un flux ouvert sur le serveur même si l’accesseur local sur l’ordinateur client a fermé le flux. Cet oplock prend en charge les scénarios où le client doit ouvrir et fermer à plusieurs reprises le même fichier, par exemple pendant l’exécution du script de traitement par lots. Il prend en charge la mise en cache de lecture du client, la mise en cache d’écriture et la gestion de la mise en cache.

  • Un filtre oplock (exclusif) permet aux applications et aux pilotes de filtre de système de fichiers qui ouvrent et lisent les données de flux de faire marche arrière lorsque d'autres applications, clients, ou les deux, essaient d'accéder au même flux. Cet oplock prend en charge la mise en cache de lecture du client et la mise en cache d’écriture.

Oplocks actuels de « Windows 7 »

Les oplocks suivants ont été ajoutés dans Windows 7, et sont donc collectivement appelés « windows 7 oplocks » :

  • Un oplock en lecture (R) (partagé) indique la présence de plusieurs lecteurs d’un flux et aucun rédacteur. Cet oplock prend en charge la mise en cache de lecture du client.

  • Un Read-Handle (RH) oplock (partagé) indique qu’il existe plusieurs lecteurs d’un flux, aucun écrivain, et qu’un client peut conserver un flux ouvert sur le serveur même si l’accesseur local sur l’ordinateur client a fermé le flux. Cet oplock prend en charge la mise en cache de lecture du client et gère la mise en cache.

  • Un oplock lecture-écriture (RW) exclusif permet à un client d’ouvrir un flux pour un accès exclusif et d’effectuer une mise en mémoire tampon arbitraire. Cet oplock prend en charge la mise en cache de lecture du client et la mise en cache d’écriture.

  • Un oplock (Lecture-Écriture-Handle) exclusif (RWH) permet à un client de conserver un flux ouvert sur le serveur, même si l’accesseur local sur l'ordinateur du client a fermé le flux. Cet oplock prend en charge la mise en cache de lecture du client, la mise en cache d’écriture et la gestion de la mise en cache.

Certains oplocks hérités peuvent sembler similaires aux oplocks Windows 7. En particulier, R semble similaire au niveau 2, RW semble similaire au niveau 1, et RWH semble similaire à Batch. Mais ils sont en effet différents. Les oplocks de Windows 7 ont été ajoutés à :

  • Fournir une plus grande flexibilité pour que l’appelant exprime des intentions de mise en cache.
  • Autoriser les interruptions d’oplock et les mises à niveau ; c'est-à-dire permettre la modification de l'état d’oplock d'un niveau à un niveau de mise en cache supérieur (par exemple, passer d'un oplock en lecture à un oplock Read-Write).

Cette flexibilité n’est pas réalisable avec les oplocks hérités.