Tumpukan Perangkat Penyimpanan, Volume Penyimpanan, dan Tumpukan Sistem File

Catatan

Untuk keandalan dan performa yang optimal, gunakan driver minifilter sistem file dengan dukungan Filter Manager alih-alih driver filter sistem file warisan. Untuk memindahkan driver warisan Anda ke driver minifilter, lihat Panduan untuk Porting Driver Filter Warisan.

Sebelum menjelajahi bagaimana driver filter warisan sistem file dilampirkan ke sistem file dan volume, perlu untuk memahami hubungan antara tumpukan perangkat penyimpanan, volume penyimpanan, dan tumpukan sistem file.

Tumpukan Perangkat Penyimpanan

Sebagian besar driver penyimpanan adalah driver perangkat PnP, yang dimuat dan dikelola oleh Manajer PnP. Perangkat penyimpanan diwakili di pohon perangkat PnP, yang berisi simpul perangkat, atau devnode, untuk setiap perangkat fisik atau logis pada komputer. Penting untuk dicatat bahwa sistem file dan driver filter sistem file bukan driver perangkat PnP; dengan demikian pohon perangkat PnP tidak berisi devnode untuk mereka.

Devnode untuk perangkat penyimpanan tertentu berisi tumpukan perangkat penyimpanan untuk perangkat; ini adalah rantai objek perangkat terpasang yang mewakili driver perangkat penyimpanan perangkat. Karena perangkat penyimpanan, seperti disk, mungkin berisi satu atau beberapa volume logis (partisi atau volume dinamis), tumpukan perangkat penyimpanan itu sendiri sering terlihat lebih seperti pohon daripada tumpukan. Akar pohon ini adalah objek perangkat fungsional (FDO) untuk adaptor penyimpanan atau untuk tumpukan perangkat lain yang terintegrasi dengan tumpukan penyimpanan. Daun pohon ini adalah objek perangkat fisik (PDO) untuk volume logis, juga disebut volume penyimpanan, tempat volume sistem file dapat dipasang.

Untuk diagram dan deskripsi beberapa tumpukan perangkat penyimpanan umum, lihat bagian berikut dari Panduan Desain Perangkat Penyimpanan:

Volume Penyimpanan

Volume adalah perangkat penyimpanan, seperti disk tetap, disket, atau CD-ROM, yang diformat untuk menyimpan direktori dan file. Volume besar dapat dibagi menjadi lebih dari satu volume logis, juga disebut partisi. Setiap volume logis diformat untuk digunakan oleh sistem file berbasis media tertentu, seperti NTFS, FAT, atau CDFS.

Volume penyimpanan, atau objek perangkat penyimpanan, adalah objek perangkat − biasanya objek perangkat fisik (PDO) − yang mewakili volume logis ke sistem. Objek perangkat penyimpanan berada di tumpukan perangkat penyimpanan, tetapi belum tentu merupakan objek perangkat paling atas dalam tumpukan.

Ketika sistem file dipasang pada volume penyimpanan, sistem membuat objek perangkat volume sistem file (VDO) untuk mewakili volume ke sistem file. Sistem file VDO dipasang pada objek perangkat penyimpanan dengan objek bersama yang disebut blok parameter volume (VPB).

Manajer Pemasangan

Mount Manager adalah bagian dari sistem I/O yang bertanggung jawab untuk mengelola informasi volume penyimpanan seperti nama volume, huruf kandar, dan titik pemasangan volume. Ketika volume penyimpanan baru ditambahkan ke sistem, Mount Manager diberi tahu tentang kedatangannya dengan salah satu cara berikut:

  • Driver kelas yang membuat volume penyimpanan memanggil IoRegisterDeviceInterface untuk mendaftarkan antarmuka baru di kelas antarmuka MOUNTDEV_MOUNTED_DEVICE_GUID. Ketika ini terjadi, mekanisme pemberitahuan antarmuka perangkat Plug and Play memperingatkan Mount Manager tentang kedatangan volume dalam sistem.

  • Driver untuk volume penyimpanan mengirimkan permintaan Mount Manager IRP_MJ_DEVICE_CONTROL, menentukan IOCTL_MOUNTMGR_VOLUME_ARRIVAL_NOTIFICATION untuk kode kontrol I/O. Permintaan ini dapat dibuat dengan memanggil IoBuildDeviceIoControlRequest.

Nama Volume Unik

Mount Manager merespons kedatangan volume penyimpanan baru dengan mengkueri driver volume untuk informasi berikut:

  • Nama objek perangkat nonpersisten volume (atau nama target), yang terletak di direktori Perangkat dari pohon objek sistem (misalnya: "\Device\HarddiskVolume1")

  • Pengidentifikasi unik global (GUID) volume, juga disebut nama volume unik

  • Nama tautan simbolis persisten yang disarankan untuk volume, seperti huruf drive (misalnya, "\DosDevices\D:")

Untuk informasi selengkapnya tentang interaksi antara driver penyimpanan dan Mount Manager, lihat Mendukung Permintaan Mount Manager di Storage Class Driver.

Tumpukan Sistem File

Driver sistem file membuat dua jenis objek perangkat yang berbeda: objek perangkat kontrol (CDO) dan objek perangkat volume (VDO). Tumpukan sistem file terdiri dari salah satu objek perangkat ini, bersama dengan objek perangkat filter apa pun untuk driver filter sistem file yang melekat padanya. Objek perangkat sistem file selalu membentuk bagian bawah tumpukan.

CDO Sistem File

CDO sistem file mewakili seluruh sistem file, bukan volume individual, dan disimpan dalam antrean sistem file global. Sistem file membuat satu atau beberapa CDO bernama dalam rutinitas DriverEntry-nya . Misalnya, FastFat membuat dua CDO: satu untuk media tetap dan satu untuk media yang dapat dilepas. CDFS hanya membuat satu CDO, karena hanya memiliki media yang dapat dilepas.

CDO sistem file harus diberi nama. Ini karena driver filter sistem file, serta banyak rutinitas dukungan mode kernel, mengandalkan perbedaan antara VDO dan CDO ini sebagai cara membedakannya.

VDO Sistem File

VDO sistem file mewakili volume yang dipasang oleh sistem file. Sistem file membuat VDO saat memasang volume, biasanya sebagai respons terhadap permintaan pemasangan volume. Tidak seperti CDO, VDO selalu dikaitkan dengan perangkat penyimpanan logis atau fisik tertentu.

Catatan

Tidak seperti CDO, VDO tidak boleh diberi nama, karena penamaan objek perangkat volume akan membuat lubang keamanan.