Что такое устройство посимвольного ввода-вывода?

Я пытался сделать раздел на своей Карте памяти, когда я столкнулся с некоторыми файлами/объектами в /dev/ который казался незнакомым (такой как hidraw2). Когда я открыл/dev в файловом менеджере и изучил их свойства, он говорит, что они character devices. При поиске о них я столкнулся с сообщениями, которые объясняют, каковы 'блочные устройства', но никакое такое сообщение для устройств посимвольного ввода-вывода до сих пор.

Я хотел бы знать то, что устройство посимвольного ввода-вывода и что оно делает. Также интересно о том, почему они - вызываемые устройства.

7
задан 2 April 2018 в 11:44

1 ответ

Это - простое объяснение:

  • Символ ('c') Устройство один, с которым Драйвер связывается путем отправки и получения отдельных символов (байты, октеты).
  • Блок ('b') Устройство один, с которым Драйвер связывается путем отправки всех блоков данных.
  • Примеры для Устройств посимвольного ввода-вывода: последовательные порты, параллельные порты, звучат как карты.
  • Примеры для Блочных устройств: жесткие диски, камеры USB, Диск на ключе.
  • Для пользователя не имеет значения тип Устройства (блок или символ) - Вы просто заботитесь, что это - раздел жесткого диска или звуковая карта.
  • Программисты драйвера, однако, действительно заботятся.

Вот больше:

16.1.4.2 Блочные устройства и Устройства посимвольного ввода-вывода, блочное устройство является тем, которое разработано для работы с точки зрения блока вводом-выводом, поддерживаемым Цифровым UNIX. К этому получают доступ через кэш-буфер. Блочное устройство имеет связанный драйвер блочного устройства, который выполняет ввод-вывод при помощи буферов размера блока файловой системы от кэш-буфера, предоставленного ядром. Драйверы блочного устройства являются особенно подходящими для дисководов, наиболее распространенных блочных устройств.

Устройство посимвольного ввода-вывода является любым устройством, которому можно было считать потоки символов от или записанный в него. Устройству посимвольного ввода-вывода связали драйвер устройства посимвольного ввода-вывода с ним, который может использоваться для устройства, такого как построчный принтер, который обрабатывает один символ за один раз. Однако символьные драйверы не ограничены выполнением ввода-вывода отдельный символ за один раз (несмотря на драйвер ''символа'' имени). Например, драйверы ленты часто выполняют ввод-вывод в блоках 10K. Драйвер устройства посимвольного ввода-вывода может также использоваться, где необходимо скопировать данные непосредственно в или от пользовательского процесса. Из-за их гибкости в обработке ввода-вывода много драйверов являются символьными драйверами. Построчные принтеры, интерактивные терминалы и графические дисплеи являются примерами устройств, которые требуют драйверов устройства посимвольного ввода-вывода.

Источники:

http://haifux.org/lectures/86-sil/kernel-modules-drivers/node10.html

https://arstechnica.com/civis/viewtopic.php? t=787631

10
ответ дан 23 November 2019 в 06:25

Другие вопросы по тегам:

Похожие вопросы: