Устройства ввода-вывода
Устройства ввода-вывода можно условно разделить на две категории: блочные устройства и символьные устройства. К блочным относятся такие устройства, которые хранят информацию в блоках фиксированной длины, у каждого из которых есть свой собственный адрес. Обычно размеры блоков варьируются от 512 до 32 768 байт. Вся передача данных ведется пакетами из одного или нескольких целых (последовательных) блоков. Важным свойством блочного устройства является то, что оно способно читать или записывать каждый блок независимо от всех других блоков. Среди наиболее распространенных блочных устройств жесткие диски, приводы компакт-дисков и флэш-накопители USB.
Если приглядеться, то граница между устройствами с адресуемыми блоками и устройствами, не обладающими таким свойством, не имеет четкого определения. Каждый согласен, что диск является устройством с адресуемыми блоками, поскольку, где бы в данный момент ни находился блок головок, всегда есть возможность переместиться к другому цилиндру, а затем дождаться, пока нужный блок не подойдет под головку. Теперь рассмотрим накопитель на магнитной ленте, используемый для создания резервной копии диска. Ленты содержат последовательность блоков. Если накопитель получает команду считать блок N, он всегда может перемотать ленту назад и запустить рабочий ход вперед до тех пор, пока не доберется до блока N. Эта операция аналогична операции позиционирования головок на нужную дорожку на диске, за исключением того, что на нее затрачивается гораздо больше времени. Также накопитель может иметь, а может и не иметь возможность переписать один блок в середине ленты. Даже если имеется возможность использовать накопители на магнитной ленте в качестве блочных устройств произвольного доступа, считать их таковыми будет некоторым преувеличением: как правило, они в этом качестве не используются.
Другой тип устройств ввода-вы вода - символьные устройства. Они выдают или воспринимают поток символов, не относящийся ни к какой блочной структуре. Они не являются адресуемыми и не имеют никакой операции позиционирования. В качестве символьных устройств могут рассматриваться принтеры, сетевые интерфейсы, мыши (в качестве устройства-указателя), крысы (для лабораторных исследований по психологии) и множество других устройств, не похожих на дисковые устройства.
Эта классификационная схема далека от совершенства. Некоторые устройства под нее не подпадают. Часы, к примеру, не являются блочно адресуемыми. Они также не генерируют и не воспринимают символьные строки. Все, чем они занимаются — вызывают прерывания через четко определенные интервалы времени. Экраны, имеющие отображение в памяти, также не вписываются в эту модель. Тем
не менее модель блочных и символьных устройств является достаточно общей, чтобы использовать ее в качестве основы для придания части программного обеспечения операционной системы независимости от устройства ввода-вывода. Файловая система, к примеру, работает только с абстрактными блочными устройствами, а зависимую от конкретного устройства часть оставляет на долю программного обеспечения низкого уровня.

