Ask HN: How would you virtualize a multi-user DOS application in 2022?

2 points by prova_modena ↗ HN
Let's say you had a typical multi-user database-backed MS-DOS application, that for intractable business reasons had to be supported in a multi-user production environment today. What would your virtualization stack look like?

Here are a couple approaches I've experimented with, along with their downsides.

- Running a Windows Server 2k3 VM, along with TameDOS and a SSH server. VM NAT'ed to the VM host, SSH port is forwarded and the DOS application is used as the shell. Obviously using old Windows versions in any kind of business critical application is asking for trouble. Also, it appears impossible to spin up a new Server 2k3 installation as the licensing servers are shut off.

- Using a DOS emulator such as DOSBOX-X on each client machine, with the application files on a shared file server. Deployment is more complex than an SSH client, which can cause issues with nontechnical users. Not sure if issues will arise from multiple emulator instances accessing DB files simultaneously.

- FreeDOS VM. Multiuser access to the VM seems to be the issue here. Without a native SSH server and multiuser support, it would have to be something like spinning up a new VM for each user session. Again, not sure if multiple VMs mounting/accessing db files simultaneously will cause issues.

Any advice from folks with opinions about the intersection of modern virtualization and ancient DOS applications would be appreciated.

3 comments

[ 0.33 ms ] story [ 19.4 ms ] thread
SSH connecting to DOSBox in a Linux VM should be possible too?
As far as I can tell, there's no way to run DOSBox or DOSBox-X within a terminal. It would be awesome if I'm mistaken as that does seem to be the most elegant solution.

I've thought about trying the DOSBox in a Linux VM setup with X11 forwarding over SSH, however supporting Windows clients that way seems complex. I'd love to hear if anyone has tried that though and how robust it is in practice.

Right, I confused running DOSBox headless with a console mode, my mistake. With X it is less interesting. VM with (virtual) serial console could be another way that might be possible.