Ты все правильно написал. Драйвера работают в 0-м кольце, следовательно используют каталог страниц ядра, который настроен так, чтобы адреса PCI* и прочей лабуды были видны напрямую. Каждое приложение может(!) иметь свой каталог страниц (со своими таблицами страниц). Так вот эти каталоги выделяет приложению ОС, которая может и настраивает их на обход этих областей. Вот здесь встает, скорее всего не решаемый, вопрос: "а использует ли XP-32 отдельные каталоги для каждого процесса?". Если да, то мой первый вопрос остается открытым. Если нет - то я хз, т.к. по классике его использовать надо (почему - не помню ).