From time to time people ask me to identify the best ‘light weight’ operating system to run under Virtual PC – with the basic requirements of TCP/IP connectivity.
The answer is usually not what they expect.
If you are solely interested in something that can run a program, and connect to the network – with the least CPU / Disk / Memory footprint – your best shot is Windows NT 4.0. Of course – if you are going to be exposing the virtual machine to a public network – or if high performance inside of the virtual machine is important – then I would recommend Windows Server 2003.
Why? Because unlike hardware – virtual machines can be tuned for specific scenarios.
On a physical computer – the ‘lightest wieght’ configuration would probably be DOS with a TCP/IP stack (or a Linux floppy distro). But inside if Virtual PC we have not spent extensive time optimizing for these scenarios (though they do work). So a DOS virtual machine will use a lot more resource and deliver lower performance than an NT or 2003 virtual machine.
My personal favorite ‘infrastructure’ virtual machine is my personal code source server. Having developed in professional environments for a while now – I find that I am uncomfortable attempting even small personal coding projects with out a source code revisioning server handy to check stuff into – but I do not want to dedicate a server to this – and I like to keep it portable. My solution? A Windows NT 4.0 virtual machine with my source server in it. It uses 32mb ram, and 800mb hard disk space. The great thing about this is that when I am on the road – I can easily copy my source server on to my laptop and take it with me. When I get back home – I can stick it back on my main computer.