То, что вы видите под «I / O», является «адресами», но они не являются ни виртуальными адресами, ни адресами физической памяти. Они находятся в пространстве портов ввода / вывода. Они имеют смысл только для специальных инструкций, таких как IN и OUT.
На странице «память» отображаются адреса в физическом адресном пространстве. Это то же адресное пространство, в котором живет ОЗУ. Это адреса «регистров» и буферного пространства, которые определяются различными устройствами ввода-вывода и некоторыми другими устройствами на материнской плате. Драйверы общаются с этими устройствами, ссылаясь на виртуальные адреса, которые ОС связывает с этими физическими адресами.
Адреса портов и памяти для устройств, соответствующих стандартам PCI для регистров адреса шины, настраиваются ОС. Тем не менее, вся эта конфигурация выполняется во время загрузки, и большинство устройств в конечном итоге получают одинаковые адреса от одной загрузки к другой. Несколько устройств назначены на общеизвестные адреса по устаревшим причинам. Несколько других устройств (таких как устаревшие последовательные и параллельные порты, если они у вас есть) находятся на шине LPC. Программно это выглядит как ISA, но электрически это последовательная шина, и как ISA не может быть сконфигурирован программно; эти устройства подключены к своим адресам.
Кстати, пространство портов ввода / вывода является пережитком древних архитектур или, по крайней мере, архитектур с древними корнями (например, x86). Большинство современных архитектур не реализуют ничего подобного; все находится в физическом пространстве памяти.