If they're working at separate times, user accounts should be more than enough. You could just mirror the display to each, and if only one keyboard/mouse is being used at the same time, there aren't any issues there either.
If you want to run two separate environments at the same time, I highly recommend you start learning about virtualization. VMWare offers VMWare Player for free for personal use, which is what I use. With some reading and trial/error, it's not too hard to end up with two completely different OS'es running on the same box with different displays. (When you attach USB devices to the VM (guest OS), they're removed from the host OS. You could play around with settings to get one keyboard/mouse going to your VM and the other to the host.)
Using a VM is *not* the best option for gaming; however, VMWare can run up to DirectX 9 just fine, and I've even played new-ish DX9 games with great framerates and no glitches.
I frequently will remote into my Linux VM, which runs on top of my Windows host, and I have full OS control without disturbing the host, even if it's gaming - so long as the box has enough resources for each OS and its tasks.
If you're just doing work, Linux would probably be much easier to setup multi-users, but with any type of setup, you should be fine. I've only been around virtualization for six months now, but some of the setups I've managed off of one machine are pretty insane. As long as you've got enough processors, processing power, memory, and storage, the *sky* is the limit! (Get it? Sky, like cloud? As in virtualization. har har har..)