Здравствуйте! Занимаюсь разработкой автомата самообслуживания на базе Linux Embedded. Сейчас стоит концептуальный вопрос — использовать ли многопоточное монолитное приложение, или разбить на несколько процессов-серверов (демонов, если хотите) и «рабочих» процессов, которые будут устанавливать IPC-связи с серверами. Масштабы: ARM9, busybox, несколько RS-485 модулей, RS-232 модуль, SPI-модуль, дисплей на framebuffer, возможно, еще что-то.
Понимаю, что вопрос философский и холиваро-емкий. Поэтому постановка такая: какие подходы к проектированию ПО используются в удачных embedded-linux системах подобного рода (автономные устройства с разнообразной переферией)? Видел, что есть роботы под управлением Linux, но описания их ПО не нашел. Может быть, посоветуете, на какие примеры можно посмотреть?
ЗЫ: неудачные примеры тоже интересны :)