[#] COM-порт из ничего: PTY, epoll и немного RS485-боли
BotHabr(tgi,2) — All
2026-06-06 18:35:03


Опубликовано: Sat, 06 Jun 2026 13:42:44 GMT
Канал: Все статьи подряд / Программирование микроконтроллеров / Хабр

Демон «ничего не делал» — а одно ядро было загружено на 100%. История про виртуальный COM-порт для Linux/WSL2: PTY, epoll и эмуляция RS485, с кодом и граблями.Рассказываю, как сделал vseriald — демон, который создаёт виртуальный последовательный порт /dev/ttyV0 в Linux и WSL2 и выводит его в сеть, FIFO или очередь сообщений. Разбираю три неочевидных места: псевдотерминал, после закрытия которого одно ядро уходит в 100%; притормаживание источника в однопоточном epoll-цикле без блокировок; эмуляцию полудуплексного RS485 как конечного автомата с таймингами и коллизиями. Плюс честный ответ на вопрос «зачем это, если есть socat и /dev/pts» — и код из реального проекта. Читать далее]]>

https://habr.com/ru/articles/1044386/