Подсистема управления внешними устройствами, называемая также подсистемой ввода-вывода, является интерфейсом ко всем устройствам, подключенным к компьютеру. Множество этих устройств очень велико. Номенклатура выпускаемых накопителей на жестких, гибких и оптических дисках принтеров, сканеров, мониторов, плоттеров, модемов, сетевых адаптеров и специализированных устройств ввода-вывода (например, аналого-цифровых преобразователей, устройств считывания шрих-кода и т. д.) насчитывает тысячи моделей. Эти модели отличаются набором и последовательностью команд, используемых для обмена информацией с процессором и памятью компьютера, скоростью работы, кодировкой передаваемых данных, возможностью совместного использования, поддерживаемыми функциональными возможностями и множеством других деталей. Программа, управляющая конкретной моделью внешнего устройства и учитывающая все его особенности, называется драйвером этого устройства.
Драйвер может управлять единственной моделью устройства или же группой устройств определенного типа. Для конечного пользователя важное значение имеет наличие в ОС как можно большего количества разнообразных драйверов (для широкого спектра устройств), поскольку это гарантирует возможность подключения к компьютеру большого числа внешних устройств различных производителей. От наличия подходящих драйверов во многом зависит успех ОС на рынке. Так, отсутствие многих необходимых драйверов внешних устройств было одной из причин низкой популярности ОС OS/2 и ранних версий Windows NT. Поэтому, прежде чем выпускать на рынок новую ОС, разработчики стараются включить в ее состав драйверы для поддержки самого разного имеющегося в продаже оборудования. Созданием драйверов занимаются как разработчики конкретной ОС, так и специалисты компаний, выпускающих внешние устройства. ОС должна поддерживать четко определенный интерфейс между драйверами и остальными частями ОС, чтобы разработчики из компаний-производителей устройств ввода-вывода могли поставлять вместе со своими устройствами драйверы для данной ОС.