Compartir a través de


Pilas de dispositivos de almacenamiento, volúmenes de almacenamiento y pilas del sistema de archivos

Nota:

Para lograr una confiabilidad y un rendimiento óptimos, use controladores de minifiltro del sistema de archivos con compatibilidad con el Administrador de filtros de archivos en lugar de controladores de filtro del sistema de archivos heredados. Para migrar el controlador heredado a un controlador de minifiltro, consulte Directrices para migrar controladores de filtro heredados.

Antes de explorar cómo se asocian los controladores de filtro heredados del sistema de archivos a los sistemas de archivos y volúmenes, es necesario comprender la relación entre las pilas de dispositivos de almacenamiento, los volúmenes de almacenamiento y las pilas del sistema de archivos.

Pilas de dispositivos de almacenamiento

La mayoría de los controladores de almacenamiento son controladores de dispositivo PnP, que el Administrador de PnP carga y administra. Los dispositivos de almacenamiento se representan en el árbol de dispositivos PnP, que contiene un nodo de dispositivo o un nodo de desarrollo, para cada dispositivo físico o lógico de la máquina. Es importante tener en cuenta que los sistemas de archivos y los controladores de filtro del sistema de archivos no son controladores de dispositivos PnP; por lo tanto, el árbol de dispositivos PnP no contiene ningún devnodes para ellos.

El devnode para un dispositivo de almacenamiento determinado contiene la pila de dispositivos de almacenamiento para el dispositivo; esta es la cadena de objetos de dispositivo conectados que representan los controladores de dispositivo de almacenamiento del dispositivo. Dado que un dispositivo de almacenamiento, como un disco, puede contener uno o varios volúmenes lógicos (particiones o volúmenes dinámicos), la pila de dispositivos de almacenamiento suele parecerse más a un árbol que una pila. La raíz de este árbol es un objeto de dispositivo funcional (FDO) para un adaptador de almacenamiento o para otra pila de dispositivos integrada con la pila de almacenamiento. Las hojas de este árbol son los objetos de dispositivo físico (PPO) de los volúmenes lógicos, también denominados volúmenes de almacenamiento, en los que se pueden montar volúmenes del sistema de archivos.

Para ver diagramas y descripciones de algunas pilas de dispositivos de almacenamiento típicas, consulte las secciones siguientes de la Guía de diseño de dispositivos de almacenamiento:

Volúmenes de almacenamiento

Un volumen es un dispositivo de almacenamiento, como un disco fijo, un disquete o CD-ROM, que tiene formato para almacenar directorios y archivos. Un volumen grande se puede dividir en más de un volumen lógico, también denominado partición. Cada volumen lógico tiene formato para su uso por un sistema de archivos basado en medios determinado, como NTFS, FAT o CDFS.

Un volumen de almacenamiento, o un objeto de dispositivo de almacenamiento, es un objeto de dispositivo , normalmente un objeto de dispositivo físico (PDO) , que representa un volumen lógico para el sistema. El objeto de dispositivo de almacenamiento reside en la pila de dispositivos de almacenamiento, pero no es necesariamente el objeto de dispositivo más alto de la pila.

Cuando un sistema de archivos se monta en un volumen de almacenamiento, crea un objeto de dispositivo de volumen del sistema de archivos (VDO) para representar el volumen en el sistema de archivos. El VDO del sistema de archivos se monta en el objeto de dispositivo de almacenamiento mediante un objeto compartido denominado bloque de parámetros de volumen (VPB).

Administrador de montaje

El Administrador de montaje es la parte del sistema de E/S que es responsable de administrar la información del volumen de almacenamiento, como los nombres de volumen, las letras de unidad y los puntos de montaje del volumen. Cuando se agrega un nuevo volumen de almacenamiento al sistema, mount Manager recibe una notificación de su llegada de cualquiera de las siguientes maneras:

  • El controlador de clase que creó el volumen de almacenamiento llama a IoRegisterDeviceInterface para registrar una nueva interfaz en la clase de interfaz MOUNTDEV_MOUNTED_DEVICE_GUID. Cuando esto sucede, el Plug and Play mecanismo de notificación de interfaz de dispositivo alerta al Administrador de montaje de la llegada del volumen en el sistema.

  • El controlador del volumen de almacenamiento envía al Administrador de montaje una solicitud de IRP_MJ_DEVICE_CONTROL, especificando IOCTL_MOUNTMGR_VOLUME_ARRIVAL_NOTIFICATION para el código de control de E/S. Esta solicitud se puede crear llamando a IoBuildDeviceIoControlRequest.

Nombre de volumen único

Mount Manager responde a la llegada de un nuevo volumen de almacenamiento consultando el controlador de volumen para obtener la siguiente información:

  • Nombre de objeto de dispositivo no persistente del volumen (o nombre de destino), ubicado en el directorio Device del árbol de objetos del sistema (por ejemplo: "\Device\HarddiskVolume1")

  • El identificador único global (GUID) del volumen, también denominado nombre de volumen único

  • Un nombre de vínculo simbólico persistente sugerido para el volumen, como una letra de unidad (por ejemplo, "\DosDevices\D:")

Para obtener más información sobre la interacción entre los controladores de almacenamiento y el Administrador de montaje, vea Admitir solicitudes del Administrador de montaje en un controlador de clase de almacenamiento.

Pilas del sistema de archivos

Los controladores del sistema de archivos crean dos tipos diferentes de objetos de dispositivo: controlar objetos de dispositivo (CDO) y objetos de dispositivo de volumen (VDO). Una pila del sistema de archivos consta de uno de estos objetos de dispositivo, junto con cualquier objeto de dispositivo de filtro para los controladores de filtro del sistema de archivos que están conectados a él. El objeto de dispositivo del sistema de archivos siempre forma la parte inferior de la pila.

CDO del sistema de archivos

Los CDO del sistema de archivos representan sistemas de archivos completos, en lugar de volúmenes individuales, y se almacenan en la cola global del sistema de archivos. Un sistema de archivos crea uno o varios CDO con nombre en su rutina DriverEntry . Por ejemplo, FastFat crea dos CDO: uno para medios fijos y otro para medios extraíbles. CDFS crea solo un CDO, ya que solo tiene medios extraíbles.

Es necesario asignar un nombre a los CDO del sistema de archivos. Esto se debe a que los controladores de filtro del sistema de archivos, así como muchas rutinas de compatibilidad del modo kernel, dependen de esta diferencia entre los VDOs y los CDO como una manera de separarlos.

VDOs del sistema de archivos

Los VDA del sistema de archivos representan volúmenes montados por sistemas de archivos. Un sistema de archivos crea un VDO cuando monta un volumen, normalmente en respuesta a una solicitud de montaje de volumen. A diferencia de un CDO, un VDO siempre está asociado a un dispositivo de almacenamiento lógico o físico específico.

Nota:

A diferencia de los CDO, los VDO nunca deben tener un nombre, ya que asignar un nombre a un objeto de dispositivo de volumen crearía un agujero de seguridad.