При большом разнообразии устройств ввода – вывода, обладающих весьма отличающимися позволяет соблюсти баланс между двумя противоречивыми требованиями:
Нижние слои подсистемы ввода – вывода должны включать индивидуальные драйвера конкретных физических устройств, а верхние слои должны обобщать процедуры управления этими устройствами, предоставляя по возможности общий интерфейс.