Относится ли эта концепция только к драйверам терминалов (что охватывает большинство сайтов) или к любому драйверу в целом?
Термины « сырой» и « приготовленный» относятся только к терминальным водителям. «Приготовленный» называется каноническим, а «сырой» - неканоническим .
Драйвер терминала по умолчанию является линейной системой: символы буферизуются внутри до возврата каретки ( Enterили Return) до его передачи в программу - это называется «приготовлено». Это позволяет некоторые символы должны быть обработаны (см stty(1)
), такие как Cntl-D, Cntl-S, Ctrl-U Backspace); по сути, элементарное редактирование строк. Драйвер терминала «готовит» персонажей перед тем, как подавать их.
Терминал может быть переведен в «сырой» режим, в котором символы не обрабатываются драйвером терминала, а отправляются напрямую (можно установить, что символы INTR и QUIT по-прежнему обрабатываются). Это позволяет программам, таким как emacs
и vi
использовать весь экран более легко.
Подробнее об этом вы можете прочитать в разделе «Канонический режим» на termios(3)
странице руководства .
Термины используются для описания терминального и дискового ввода-вывода, но означают разные вещи в каждом контексте.
Необработанные и готовые режимы обработки терминального устройства покрывают (символьный или линейный характер, есть также несколько других отличий).
«Необработанное» дисковое устройство ( /dev/rdsk/*
) - это символьное устройство, а /dev/dsk/
блочное устройство. Основным отличием IIRC является то, что блочное устройство имеет буферизацию ядра, и точный контроль над режимами ввода-вывода, такими как прямой / сопоставленный ввод-вывод, может быть задан в исходном виде.
Описание сырых и приготовленных tty режимов можно найти здесь. Сообщение о сырых и готовых дисковых устройствах можно найти здесь.