The main defense is a computer at the entrance where technicians are supposed to scan their USB drives. It's a devils choice really...do you put the tools on an externally accessible network? If not how do engineers get data off of tools? how does the factory talk to itself and schedule things?
I don't envy FAB IT. Utterly thankless.
Same thing with your OS/2 system. As long as it's working, there's really no need to change it. The fun begins when it no longer works and needs to be replaced. How much of the factory will then need to be replaced/updated just because the controlling computer can no longer operate the older equipment? That's the type of scenarios that give managers nightmares.
Open Source Software may or may not be easy or economically realistic to port, but at least the users have a say.
Can we stop repeating this as a strength of OSS? It definitely is not. "Users" have a problem they want solved, they don't really want that problem and to learn how to patch software.
Upload instructions via punch cards
The machines at TSMC would be at 100% utilization on million dollar jobs, management would never accept downtime for maintenance for software updates that could introduce bugs.
Its one thing for consumer devices to receive updates, its a completely different ballgame with industrial. Downtime due to anything can be millions of dollars per hour in losses. So it comes down to what could cause more monetary loss, downtime due to hacks or downtime due to bugs introduced.
"If it works why break it".
Its the same reason why there are production lines where physically, hardware could be replaced and improved to reduce wear, reliability, power usage, etc (even things like motors) but they arent, for decades. Only when things start costing money outside the original design do engineers perform upgrades.
This is extra true for my company. We sell sorters, which don't actually do anything useful in terms of processing the wafers. The tools just shuffle the wafers between FOUPs. While these tools help customers optimize processes by changing batch sizes and such, they really want to have as few non-process tools as possible. So uptime is really important.
Back when I made rocket things, we used an RTOS. Are real-time operating systems (like QNX) not widely used?
But QnX real-time capabilities are just one nice part of the mix, the user land drivers and impossible to crash kernel are equal partners in giving it the stability that it has. Process isolation for drivers should be mandatory.