Udostępnij przez


Obsługa asynchronicznych operacji wejścia/wyjścia

Menedżer we/wy zapewnia asynchroniczną obsługę we/wy, dzięki czemu inicjator żądania we/wy (zazwyczaj aplikacja w trybie użytkownika, ale czasami inny sterownik) może kontynuować wykonywanie, zamiast czekać na ukończenie żądania we/wy. Asynchroniczna obsługa we/wy zwiększa ogólną przepływność systemu i wydajność dowolnego kodu, który wysyła żądanie we/wy.

Dzięki asynchronicznej obsłudze we/wy sterowniki trybu jądra nie muszą przetwarzać żądań we/wy w tej samej kolejności, w jakiej zostały wysłane do menedżera we/wy. Menedżer we/wy lub sterownik wyższego poziomu może zmienić kolejność żądań we/wy w miarę ich odbierania. Sterownik może podzielić duże żądanie transferu danych na mniejsze żądania transferu. Ponadto sterownik może równolegle przetwarzać żądania we/wy, szczególnie w symetrycznej platformie wieloprocesorowej, jak wspomniano w Bezpieczne dla Multiprocesorów.

Ponadto przetwarzanie poszczególnych żądań we/wy w trybie jądra nie musi być serializowane. Oznacza to, że sterownik nie musi przetwarzać każdego IRP do samego końca przed rozpoczęciem przetwarzania następnego przychodzącego żądania wejścia/wyjścia.

Gdy sterownik otrzymuje IRP (I/O Request Packet), odpowiada, wykonując możliwie najwięcej przetwarzania specyficznego dla tego żądania. Jeśli sterownik obsługuje asynchroniczne przetwarzanie IRP, może wysłać protokół IRP do następnego sterownika, w razie potrzeby, i rozpocząć przetwarzanie następnego protokołu IRP bez oczekiwania na ukończenie pierwszego. Sterownik może zarejestrować "procedurę uzupełniania", którą menedżer we/wy wywołuje, gdy inny sterownik zakończył przetwarzanie IRP. Sterowniki podają wartość stanu w bloku statusu we/wy IRP, do którego inne sterowniki mogą uzyskać dostęp, aby określić stan żądania we/wy.

Sterowniki mogą przechowywać informacje o stanie dotyczące bieżących operacji we/wy w specjalnej części obiektów urządzeń, zwanej rozszerzeniem urządzenia.

Aby uzyskać więcej informacji, zobacz Obsługa IRP i Techniki wejścia/wyjścia.