Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se describen los tipos de oplocks.
- Hay cuatro tipos de oplock actuales.
- Se consideran heredados cuatro tipos de oplock.
Bloqueos oportunistas heredados
Los cuatro interbloqueos siguientes se implementaron en Windows NT 3.1 (nivel 1, nivel 2, lote) y Windows 2000 (filtro) y se consideran "interbloqueos heredados":
Un bloqueo de nivel 1 (exclusivo) permite a un cliente abrir un flujo para acceso exclusivo y realizar un almacenamiento en búfer arbitrario. Este oplock admite el almacenamiento en caché de lectura del cliente y el almacenamiento en caché de escritura.
Un interbloqueo de nivel 2 (compartido) indica que hay varios lectores de una secuencia y ningún escritor. Este oplock admite el almacenamiento en caché de lectura de los clientes.
Un Batch oplock (exclusivo) permite que un cliente mantenga un flujo abierto en el servidor incluso si el accesador local en la máquina cliente ha cerrado el flujo. Este interbloqueo admite escenarios en los que el cliente necesita abrir y cerrar repetidamente el mismo archivo, como durante la ejecución del script por lotes. Admite el almacenamiento en caché de lectura de cliente, el almacenamiento en caché de escritura y el control del almacenamiento en caché.
Un interbloqueo de filtro (exclusivo) permite a las aplicaciones y controladores de filtro del sistema de archivos que abren y leen datos de secuencia una manera de "volver a salir" cuando otras aplicaciones, clientes o ambos intentan acceder a la misma secuencia. Este oplock admite el almacenamiento en caché de lectura del cliente y el almacenamiento en caché de escritura.
Interbloqueos actuales de "Windows 7"
Los siguientes interbloqueos se agregaron en Windows 7, por lo que se conocen colectivamente como "interbloqueos de Windows 7":
Un oplock de lectura (R) (compartido) indica que hay varios lectores de una secuencia y ningún escritor. Este interbloqueo admite el almacenamiento en caché de lectura del cliente.
Un interbloqueo de identificador de lectura (RH) (compartido) indica que hay varios lectores de una secuencia, ningún escritor y que un cliente puede mantener abierta una secuencia en el servidor aunque el descriptor de acceso local del equipo cliente haya cerrado la secuencia. Este interbloqueo admite el almacenamiento en caché de lectura del cliente y el almacenamiento en caché de manejadores.
Un bloqueo de operaciones de lectura y escritura (RW) (exclusivo) permite a un cliente abrir una secuencia para el acceso exclusivo y llevar a cabo almacenamiento en búfer arbitrario. Este oplock admite el almacenamiento en caché de lectura del cliente y el almacenamiento en caché de escritura.
Un RWH oplock (exclusivo) permite a un cliente mantener un flujo abierto en el servidor aunque el accesor local del equipo cliente haya cerrado el flujo. Este interbloqueo admite el almacenamiento en caché de lectura del cliente, el almacenamiento en caché de escritura y el almacenamiento en caché de controladores.
Algunos interbloqueos heredados pueden parecer similares a los interbloqueos de Windows 7. En concreto, R parece similar al nivel 2, RW parece similar al nivel 1 y RWH parece similar a Batch. Pero son realmente diferentes. Los oplocks de Windows 7 se agregaron a:
- Proporcionar mayor flexibilidad para que el autor de la llamada exprese intenciones de almacenamiento en caché.
- Permitir interrupciones de interbloqueo y actualizaciones; es decir, para permitir la modificación del estado de interbloqueo de un nivel a un nivel de almacenamiento en caché mayor (por ejemplo, actualizar un interbloqueo de lectura a un oplock de Read-Write).
Esta flexibilidad no se puede lograr con los oplocks heredados.