Linux is on a shitton of products nowadays, but often people don’t recognise it as such.
In terms of the DB - Windows 3.1 story the solution is simple: It’s time. Windows 3.1 is old as fuck and while Linux is one year older in theory it was a hobby project back then and, more important, was not providing any graphical interface back then - which is what the German Bahn used it for - as a graphical interface. While Unix would have been an option these systems were often hardware-vendor specific(AIX for IBM, HP-UX for HP) and the then standard supplier Siemens-Nixdorf did not provide it’s own Os afaik.OS/2 was basically still Microsoft at that point so there was little reason to not use MS.
The other point are the incredibly long development and usage times of industrial equipment - if you start to design a new high speed train from scratch it can easily take 15 years from start to finish - and the decision which OS you use is one to be done rather early on. And that train will then be used for 30-40 years. The complete IT business will change A LOT during that time. And maybe you bring out a newer model but need it to be backward compatible for some reason. And bam,you use Windows 3.1 in 2030.
For a matter of fact I know of at least one nuclear plant still being controlled by a Digital Equipment PDP11 and one conventional power plant controlled by a Robotron system.
Which brings us to the old:“Never change a running system”. If your application works under windows XP and usually these things do after so many years, why do you need a new OS ? Unlike consumer systems these systems are often in a walled garden or not connected at all and there is literally zero reason to change it.
Nowadays things are different - we have much more outside connections in hardware and linux/Unix is in many more products than people think - I personally would even be fairly sure that it’s in more products than MS nowadays, since they got rid of CE there has been a steep decline in their market share afaik.
Linux users and Temple OS users!