Хотя я не могу дать однозначного ответа, я могу предложить следующие слова, которые могут дать некоторые объяснения:
Взято из Драйверы устройств Linux, 3-е издание, О'Рейли, Глава 1 «Классы устройств и модулей»
В Linux взгляд на устройства различает три основных устройства.
типы. Каждый модуль обычно реализует один из этих типов и, таким образом, классифицируется как
char-модуль, блочный модуль или сетевой модуль. Это разделение модулей на различные типы или классы не является жестким; программист может выбрать построить огромный
модули, реализующие разные драйверы в одном фрагменте кода.
С точки зрения пользователя Linux это означает, что очень часто они обнаруживают, что система Linux теперь очень часто будет «распознавать» данное устройство без необходимости в конкретных драйверах или (надеюсь), по крайней мере, базовая поддержка ОС будет автоматически предоставляется для этих устройств, позволяя приложениям использовать их. Я не эксперт по Windows, переехавшей в Linux после краха Vista (и никогда не оглядывавшейся назад), но я ВСЕГДА помню, что мне приходилось загружать драйверы устройств всякий раз, когда я получал новое устройство, даже если это была карта памяти (но уже использовала другие типы карт памяти на компьютере!)
Я верю, что именно так и была разработана Windows, но почему именно так, я понятия не имею. Поэтому я предполагаю, что под Linux ADB распознает все устройства Android под одним типом устройства, тогда как Windows не может, следовательно, нуждаться в многочисленных драйверах устройств в Windows.