Udostępnij przez


Korzystanie z bezpośredniego we/wy

Sterowniki dla urządzeń, które mogą przesyłać duże ilości danych w danym momencie, powinny używać bezpośrednich operacji we/wy dla tych transferów. Korzystanie z bezpośrednich operacji we/wy w przypadku dużych transferów zwiększa wydajność sterownika, zarówno poprzez zmniejszenie obciążenia przerwania, jak i wyeliminowanie alokacji pamięci i operacji kopiowania związanych z buforowaną operacją we/wy.

Ogólnie rzecz biorąc, sterowniki urządzeń pamięci masowej żądają bezpośredniego I/O dla żądań transferu, w tym sterowników najniższego poziomu korzystających z bezpośredniego dostępu do pamięci (DMA) lub zaprogramowanych operacji I/O (PIO), a także wszystkich pośrednich sterowników znajdujących się powyżej nich.

Menedżer we/wy określa, że operacja we/wy korzysta z trybu bezpośredniego we/wy w następujący sposób:

Sterowniki korzystające z bezpośrednich operacji we/wy czasami również używają buforowanych operacji we/wy do obsługi niektórych środowisk IRPs. W szczególności sterowniki zwykle używają buforowanego I/O dla niektórych kodów kontrolnych I/O dla IRP_MJ_DEVICE_CONTROL wniosków, które wymagają transferu danych, niezależnie od tego, czy sterownik używa bezpośredniego I/O do operacji odczytu i zapisu.

Konfigurowanie bezpośredniego transferu we/wy różni się nieznacznie, w zależności od tego, czy jest używana usługa DMA czy PIO. Aby uzyskać więcej informacji, zobacz:

Używanie bezpośredniego we/wy z DMA

Używanie bezpośredniego we/wy z PIO

Sterowniki muszą podjąć kroki w celu zapewnienia spójności pamięci podręcznej podczas transferów DMA i PIO. Aby uzyskać więcej informacji, zobacz Utrzymywanie spójności pamięci podręcznej.