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