Friday, April 22, 2011

VAULT-OS : Lua Web Server Pages In DOS-32!!

Honest. You have never lived until you have seen a robust industrial web server running in an embedded system under DOS protected mode reading CANBUS peripherals and I2C devices. It is the coolest thing since sliced bread. It's rock solid.

I've got LuaSQlite compiled in and now I am calling web results and displaying them in tables in the HTML output. I had this hardcoded, now it is running in a Lua scripted VSP (Vault Server Page). Submitting them back, I've got the form being processed by a Lua CGI equivalent to store the results. FTP server running in the background while all this is happening. I'm flipping out. I was browsing from my Windows 2000 Advanced Server beside it and in addition to the HTML browser I was downloading PDF files over the FTP server in another window opened in the 'cmd' console. I got heart palpitations and sweaty palms I was so excited. Two other machines at the end of my study were sending temperature and air pressure readings and the server was sucking them in (as application/json data) and storing them without skipping a beat delivering web pages.

The sky is the limit. I can do anything in VOS now and others will be able to configure it for their own shelters to do anything required.

If I wasn't struggling to keep this compatible with Arachne browser, I'd have stuck SVG output in by now. It's easy to do. Instead I'm trying to hew to HTML 3.0 to keep it running on ancient browsers.

Screenshots will be forthcoming before end of this month.


David said...

Tex! You must at least show screenshots of this wondrous app you speak of!! I will be first in line for this for hydroponics control part alone!!

Anonymous said...

I can hark back to the DOS days: but is DOS stable enough? Would DOS be a weak link?

Texas Arcane said...

DOS is stabler than Linux, BSD, Windows combined. Possibly the only x86 environment as stable as DOS or better would be QNX. There may be a version of Vault-OS eventually for QNX.

DOS has been used in industrial environments for over 30 years successfully to run a wide variety of mission critical applications. When people needed multitasking under DOS, they turned to Desqview or DR. DOS to run several apps at the same time.

Everybody knows Linux is much stabler than Windows. What they don't know is that even Linux has far more things that can go wrong and cause it to crash than DOS. A well written DOS-32 program is literally sitting atop the raw machine with nothing but a layer of interrupts to reach basic functions.

What is also not widely known is that well-written TSRs provide for all kinds of hardware processes to run in the background under DOS, avoiding the risk of threading altogether.

Bezroukov's classic article on what is wrong with threads for critical applications here: