A week ago, after I had spent the night trying to cram FreeBSD onto a 4 megabyte RAM card, I went in the morning before work to an industrial manufacturer down the road to see if I could buy some of the standalone one piece PC terminals they were phasing out.
The terminals were too expensive considering their age ... but I saw something else that stunned me. It immediately caused me to rethink everything I was doing.
Basically, the terminals themselves (CRT based) had worn out before the software. They had an x86 based real mode system running on the terminals that had been working for 12 years without a reboot. I had a look at this system. It was a beautiful text mode interface with a strange trick to embed bitmapped graphics into parts of the screen (remapping the unused character set), redefined fonts and a custom palette. It looked awesome and it would literally run on anything. It was fast, multiuser and very powerful. The entire maintenance and installation disk for the application, which was quite big, fit onto a single floppy disk. This system ran on x86 boards with 4 megs that only accessed memory over 640K as EMS virtual storage for overlays and data. It was truly incredible. It had run for 12 years, day and night, without ever being turned off and without being rebooted. The biggest problem was that there was no screen saving function and the CRT screens had been burned as a result of running ad infinitum with the same display on them. This is why they had to phase out the terminals for new LCD panels. The operator described the application as "supernaturally robust" and said he was dreading the day management decided to go to some .NET platform or worse, Linux. He told me that "I have little doubt this application would run for 100 years unattended without failing if the hardware held up."
The application, which the operator was nice enough to show me some of the features of, consisted of a multiuser network that had fileshare and IPX sockets without anything but DOS 3.0 running underneath it. No 50 megabyte "small" Linux. No 24 megabyte "small" BSD. No 12 megabyte "small" Windows 98. Rather, just sitting on DOS.
They showed me the backup system should anything ever crash. (It never had) It was a floppy disk. They had been talking about going to a tiny compact flash card instead but since it was never broke, they never had the motivation to fix it.
When the terminals booted up, they got the addresses and service information from all the other computers with a single broadcast on the global channel and then all the other computers got it's address and services back in the same exchange. A single packet of information to say "I'm here, this is what I want to subscribe to and this is what I publish." In other words, exactly what I wanted from Vault OS. Just as I had envisioned for Vault OS, local terminals connected to local sensors and devices broadcast their inputs to all interested subscribers at regular intervals, so all machines could perform the same global functions with the same installed software, just configured differently.
As soon as I had found out what development tool had been used for this software, I went straight home and bought $300 worth of licensing, tools and add-ons for it. I set up an older machine with these tools which I will network as a test bed here at home to several cheap PCs of various antiquity.
I think when I started to investigate this idea, my very first notion of using Visual Basic For DOS was the closest I came to getting it right, except that VBDOS isn't quite the tool I needed. I wanted something as RAD but with more assembly language level power when required for certain kinds of control over the machine. I think this tool I that have found by sheer chance is it.
This would result in a Vault OS that would literally run the entire gamut of x86 devices, from lowly XTs to embedded cards (which I have a truckload of) with the same look and feel on all of them, no matter what you could scrounge up.
... and most incredible of all ... it's cross platform in the best possible way.