Я пытался сделать раздел на своей Карте памяти, когда я столкнулся с некоторыми файлами/объектами в /dev/
который казался незнакомым (такой как hidraw2
). Когда я открыл/dev в файловом менеджере и изучил их свойства, он говорит, что они character devices
. При поиске о них я столкнулся с сообщениями, которые объясняют, каковы 'блочные устройства', но никакое такое сообщение для устройств посимвольного ввода-вывода до сих пор.
Я хотел бы знать то, что устройство посимвольного ввода-вывода и что оно делает. Также интересно о том, почему они - вызываемые устройства.
Это - простое объяснение:
- Символ ('c') Устройство один, с которым Драйвер связывается путем отправки и получения отдельных символов (байты, октеты).
- Блок ('b') Устройство один, с которым Драйвер связывается путем отправки всех блоков данных.
- Примеры для Устройств посимвольного ввода-вывода: последовательные порты, параллельные порты, звучат как карты.
- Примеры для Блочных устройств: жесткие диски, камеры USB, Диск на ключе.
- Для пользователя не имеет значения тип Устройства (блок или символ) - Вы просто заботитесь, что это - раздел жесткого диска или звуковая карта.
- Программисты драйвера, однако, действительно заботятся.
Вот больше:
16.1.4.2 Блочные устройства и Устройства посимвольного ввода-вывода, блочное устройство является тем, которое разработано для работы с точки зрения блока вводом-выводом, поддерживаемым Цифровым UNIX. К этому получают доступ через кэш-буфер. Блочное устройство имеет связанный драйвер блочного устройства, который выполняет ввод-вывод при помощи буферов размера блока файловой системы от кэш-буфера, предоставленного ядром. Драйверы блочного устройства являются особенно подходящими для дисководов, наиболее распространенных блочных устройств.
Устройство посимвольного ввода-вывода является любым устройством, которому можно было считать потоки символов от или записанный в него. Устройству посимвольного ввода-вывода связали драйвер устройства посимвольного ввода-вывода с ним, который может использоваться для устройства, такого как построчный принтер, который обрабатывает один символ за один раз. Однако символьные драйверы не ограничены выполнением ввода-вывода отдельный символ за один раз (несмотря на драйвер ''символа'' имени). Например, драйверы ленты часто выполняют ввод-вывод в блоках 10K. Драйвер устройства посимвольного ввода-вывода может также использоваться, где необходимо скопировать данные непосредственно в или от пользовательского процесса. Из-за их гибкости в обработке ввода-вывода много драйверов являются символьными драйверами. Построчные принтеры, интерактивные терминалы и графические дисплеи являются примерами устройств, которые требуют драйверов устройства посимвольного ввода-вывода.
Источники:
http://haifux.org/lectures/86-sil/kernel-modules-drivers/node10.html