@poslannikD
Java/C/C++ Programmer

Java вопрос надежности?

Нужно разработать прогу для устройства работающего под linux. Само устройство представляет из себя мини пк и работает с оборудованием по can сети(оборудование представляет опасность для жизни при неправильном обращении!!!!). Сам линукс на устройстве плюс работающие программы занимают 250 метров из 512 возможных. Процессор 4-х ядрерный и загружен менее чем на половину. От программы требуется отказоустойчивость + бесперебойная работа с can сетью и файловой системой. Устройство принимает и отправляет команды оборудованию, пропуск комманды из за того что приложение затупило недопустим. И тут возникают вопросы:
1)Можно ли на java программировать такие системы?
2)Будут ли сбои при работе с can сетью в момент context switching между ядрами?
3)Возможны ли сбои при работе с can сетью в момент работы горбатого коллектора:) ?
4)Или более предпочтительный вариант написание демона на с/с++(работа с can и бд), а морда на java.

Вопрос возник из-за того что требуется постоянно переписывать ui(добавление новых функций, изменения конфигурации оборудования в следствии приходиться вносить частые изменения внешнего вида проги). На с/с++ это делать долго, в то время как на java это можно сделать быстрее и безболезненние(fx, swing и awt это рай по сравнению с тем что происходит в данный момент на c++ )
  • Вопрос задан
  • 435 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Да, на Java можно разрабатывать такие системы, но не для обычных JVM, а соответствующих спецификации RTSJ.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
NeiroNx
@NeiroNx
Программист
Возможно стоит сделать отдельное устройство "контроллер безопасности", которое будет обеспечивать работу по "базовой логике", обеспечивая безопасность в те моменты когда основная система "загружается".

Любой скачок напряжения отправит ваш мини-пк в "ребут" и он не будет доступен как минимум 30 секунд. Поэтому предлагаю сделать промежуточный контролер на микроконтроллере.
Ответ написан
jamakasi666
@jamakasi666 Куратор тега Linux
Просто IT'шник.
Сталкивался с такими системами в медицине, абсолютно все были построены rtos, в некоторых случаях в железке было 2 физических ПК, 1 на rtos и работает с оборудованием а второй с winxp\linux\dos для ui и\или передачи инфы в сеть (кстати забавный момент, в одном из аппаратов МРТ 2й ПК с ui был физически отдельным и соединен 4мя оптическими кабелями с 1м, внутри свой протокол т.е. не tcp\ip, те кто вкурсе о чем я узнают шутку о peek4pony =D ).
Языки со сборщиками мусора очень плохая идея для таких систем.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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