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