Что происходит под капотом, когда некоторые данные отправляются/получаются на uart (или подобные)?

V=`expr "$var" / "$var2" 2>/dev/null`

но если подразделение перестало работать, результат пуст.

2
23.12.2013, 09:25
1 ответ

Файлы в /dev файлы устройств, они не реальные файлы. У них, обычно, нет содержания на диске (несколько неструктурированных дисков представления делают). В файле нет ничего. Если Вы делаете ls -l /dev, Вы будете видеть все, которые существует в эти "файлы": имя, некоторые специальные биты, видит, первый символ режима (не d=directory, -Файл =regular, l=symlink, это cУстройство =character или bУстройство =block), затем существует 2 числа, где размер файлов должен быть. Они отображаются на таблицы в ядре, они - устройство главные и незначительные числа.

Когда процесс читает последовательное устройство, данные передаются потоком к процессу, то же, как файл передается потоком при чтении его последовательно, или поток канала. ОС не будет помнить то, что прибывает в порт, когда никакому процессу не интересно, это потребовало бы огромной суммы (бесконечной) из устройства хранения данных. Если Вы хотите это, Вам нужен процесс для записи его.

Когда данные отосланы, они могут быть отправлены байт за один раз или блок нескольких байтов, они зависят от аппаратных средств и не являются Unix определенная вещь.

4
27.01.2020, 22:00
  • 1
    Кажется, что на некоторых микро контроллерах существует маленький кольцевой буфер, который содержит последнее (256?) байты, таким образом, ничто как этот на ПК? –  Thomas 25.12.2013, 19:30

Теги

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