Через слой
HAL ядра операционной системы, если очень упрощённо.
Помимо этого есть, например, в х86 архитектуре такая абстрация, как
порты ввода-вывода . На некоторых архитектурах ее нет, тогда регистры устройства прицеплены к определённым адресам памяти.