Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Aynı anda büyük miktarda veri aktarabilen cihazların sürücüleri, bu aktarımlar için doğrudan G/Ç kullanmalıdır. Büyük aktarımlar için doğrudan G/Ç kullanılması, hem kesme ek yükünü azaltarak hem de arabelleğe alınan G/Ç'deki bellek ayırma ve kopyalama işlemlerini ortadan kaldırarak sürücünün performansını artırır.
Genel olarak, yığın depolama cihaz sürücüleri doğrudan bellek erişimi (DMA) veya programlanmış G/Ç (PIO) kullanan en düşük düzey sürücülerin yanı sıra bunların üzerinde zincirlenmiş tüm ara sürücüler de dahil olmak üzere aktarım istekleri için doğrudan G/Ç ister.
G/Ç yöneticisi, G/Ç işleminin aşağıdaki gibi doğrudan G/Ç kullandığını belirler:
IRP_MJ_READ ve IRP_MJ_WRITE istekleri için DEVICE_OBJECT yapısının Bayraklar üyesinde DO_DIRECT_IO ayarlanır. Daha fazla bilgi için bkz. Cihaz Nesnesi Başlatma.
IRP_MJ_DEVICE_CONTROL ve IRP_MJ_INTERNAL_DEVICE_CONTROL istekleri için IOCTL kodunun değeri, IOCTL değerinde TransferType değeri olarak METHOD_IN_DIRECT veya METHOD_OUT_DIRECT içerir. Daha fazla bilgi için bkz. G/Ç Denetim Kodlarını Tanımlama .
Doğrudan G/Ç kullanan sürücüler, bazı durumlarda bazı IRP'leri işlemek için arabellekli G/Ç de kullanabilir. Özellikle, sürücüler tipik olarak okuma ve yazma işlemleri için doğrudan G/Ç kullanıp kullanmadıklarına bakılmaksızın, veri aktarımları gerektiren IRP_MJ_DEVICE_CONTROL istekleri için belirli G/Ç denetim kodlarında genellikle arabelleğe alınan G/Ç kullanır.
Doğrudan G/Ç aktarımının ayarlanması, DMA veya PIO'nın kullanılıp kullanılmadığına bağlı olarak biraz değişir. Daha fazla bilgi için bkz:
Sürücülerin DMA ve PIO aktarımları sırasında önbellek tutarlılığını korumak için gerekli adımları atması gerekir. Daha fazla bilgi için bkz. Önbellek Tutarlılığını Koruma.