Откуда берутся адреса ввода-вывода, отображаемые в памяти?

Я возился с некоторыми любительскими разработками ОС, и я немного запутался в адресах ввода-вывода с отображением памяти.Я понимаю всю концепцию ввода-вывода с отображением памяти, но я пытаюсь понять, как разработчики получают адреса для управления оборудованием.

Адреса указываются поставщиками оборудования или это своего рода стандартные адреса для всех компьютеров? Например, память VGA для печати текста начинается с адреса 0xB8000. Это стандарт для каждой машины x86? Если да, то кто установил этот стандарт? И если бы я хотел поговорить, например, с сетевой картой, как бы я узнал адреса или порты, которые она использует для связи?

Заранее спасибо.

5
задан QAH 8 March 2012 в 05:08
поделиться