Операционная система (ОС) любого промышленного контроллера определяет степень его вычислительных возможностей и возможностей ввода/вывода (I/O). Обычно ПЛК и ПКА, а также индустриальные ПК используют адаптированные выделенные или встроенные ОС с закрытым исходным кодом, чаще всего этой ОС является Microsoft Windows. Альтернатива ОС с закрытым исходным кодом — это применение Linux с открытым исходным кодом.
В отличие от ОС с закрытым исходным кодом, ОС с открытым часто более безопасны. В силу того, что ОС с закрытым исходным кодом часто оказываются в центре внимания за счет их популярности, такие ОС часто становятся целью для кибератак, а восстановить подобные системы после атак вредоносных программ, которые способны разрушать в том числе и физическую структуру, практически невозможно.
Преимущество открытого исходного кода заключается в его краудсорсинговой природе, то есть в возможности привлечения к решению проблем широкого круга лиц для использования их творческих способностей, знаний и опыта по типу субподрядной работы на добровольных началах. Благодаря этому, количество вовлеченных специалистов оказывается гораздо большим, чем при традиционном производстве промышленных контроллеров с закрытым исходным кодом, что, в свою очередь, позволяет быстро реагировать на выявленные проблемы и уязвимости.
ОС с открытым исходным кодом должны быть изготовлены на заказ для конкретного устройства и содержать только пакеты, необходимые устройству. Такое упорядочение сокращает возможные векторы атаки или поверхности атаки. Кроме того, ОС, специально созданная для промышленного контроллера, должна быть криптографически подписана ее производителем. Контроллер должен принимать только сборки ОС, утвержденные изготовителем, что исключает несанкционированное изменение кода ОС.