I would suggest virtualization if your system has the resources to handle it. You'll need 1-2GiB per guest to make things relatively cozy, especially if you intend on running multiples at once. On top of that you'll need the memory for your host OS (no less than 2GiB). So, at minimum, your system should have 4GiB to virtualize 1 or 2 other hosts, and personally, that's pushing it. (My 4GiB iMac could do it, but couldn't switch between the guest and the host well. I added 8GiB more, and it is beautiful now.)
I suggest virtualization for several reasons:
- Integration between the host and the guest (sooner or later you will need to transfer information easily between the two. Dual booting would make that a pain in the rear.)
- Consistent virtualized hardware environment, which means that getting OSes set up is far easier (IMO) since you aren't dealing with esoteric hardware. Ubuntu installs just fine under most hosts and work fine with the virtual hardware. You do need the Virtual Guest drivers, but that's a known add-on whereas finding drivers for esoteric (and even relatively standard) hardware is harder to do for some OSes.
- Segregation from the host. Unless you happen to mount your host's drive in the VM, if something goes wrong (say, a virus), you aren't likely to screw anything up on your host. (That is not to day that Virtual Hosts aren't vulnerable -- I'm sure they are to some degree, but it isn't a typical attack vector.)
Regarding Mac OS X, well, you're in a different world. You might want to go the Darwin route, but that isn't the entire OS, and Apple forbids running Mac OS X on non-Apple hardware in their EULA. Furthermore, the OS does various checks to ensure that it is running on Apple hardware, and the only way around it is to hack it a bit to confuse it. Mac OS X can be virtualized, but only on Apple hardware -- the virtual host will simply pass along the necessary characteristics to the guest in order to permit installation and booting.
So, forget about Mac OS X on your device, unless you're up to the hacking it's going to take (but if you do, go the VM route. Less risk that way of screwing something else up). Otherwise, you should be fine with virtualizing everything else.
As far as chrooting to achieve similar goals, I've never heard of it either. I suppose you could do something funky with *nix distributions this way, but you aren't going to be able to do Windows that way.