организация параллельной работы процессора и устройств ввода-вывода, при обеспечении приемлемого уровня реакции каждого драйвера и минимизации общей загрузки процессора;
согласование скоростей работы процессора, оперативной памяти и устройств ввода-вывода;
разделение устройств ввода-вывода между процессами;
обеспечение удобного логического интерфейса к устройствам ввода-вывода.
Физическая организация устройств ввода-вывода Устройства ввода-вывода делятся на два типа: блок-ориентированные устройства и байт-ориентированные устройства.
Не адресуемы и не позволяют производить операцию поиска, они генерируют или потребляют последовательность байтов. Примерами являются терминалы, строчные принтеры, сетевые адаптеры.
Организация программного обеспечения ввода-вывода Основная идея организации программного обеспечения ввода-вывода состоит в разбиении его на несколько уровней, причем нижние уровни обеспечивают экранирование особенностей аппаратуры от верхних, а те, в свою очередь, обеспечивают удобный интерфейс для пользователей.
Ключевым принципом является независимость от устройств. Вид программы не должен зависеть от того, читает ли она данные с гибкого диска или с жесткого диска.
Очень близкой к идее независимости от устройств является идея единообразного именования, то есть для именования устройств должны быть приняты единые правила.