I've done that, in several ways, on a daily basis for a long time. I've always had Windows as the host ("Primary") OS and Linux as guest, using VirtualBox.
- Linux in a window - simplest approach: You get a window that is a new computer with linux. It's got network access over NAT, and each machine can't really see each other.
- Seamless Mode: a VBox feature that boils down to have the linux's background "transparent", so you can see (and click) the Windows "behind" it. This has a cost in performance (Probably not much if you have a reasonable GPU), but more annoying for me was the strange alt-tab behavior: once you alt-tab into the VM, you can't alt-tab outside of it - you have to click on a Windows item (Or hit the release-keyboard key for VBox, which never worked very well for me).
- Headless with an X-Server on Windows: In this configuration, the linux machine doesn't actually have a screen, but acts in "remote" mode, and displays its windows inside the Windows desktop, over the network (This is called X11 protocol, and is how linux work practically always). The resulting display elements are regular Windows windows, show up in your task-bar, and you can alt-tab freely between them and other windows. Two big disadvantages to this approach: (1) These windows are very ugly, and (2) to this day, I never found an X-server for windows I was happy with.
- This is what I use now - Headless, and mount the file-system as a windows drive. I use Putty for all interaction with the linux, and use native Windows software for editing files and most anything else.
It does mean I don't run any Linux app that has a GUI, but I find this an acceptable cost. When I do need a full linux GUI, I just switch it from headless to regular vm-in-a-window, and use that.
In all cases, on modern architecture (Say, 2 year old CPUs), you shouldn't notice any performance issues.
The steps to get started are simple - download and install VirtualBox, download an Ubuntu ISO, create a new VM, and hit "start" - VBox will prompt you for the installation ISO, and then you're mostly set.
(VM-ware vs VirtualBox: I never tried VM-ware; I know it should be really good, but so is VirtualBox.)