It's easiest to use two individual drives. Also safer.
Each OS has a boot loader. Which is installed in an MBR. Windows boot loader only sees Windows. Linux boot loader (Grub) features "chain loading" which means it can boot, see the Windows boot loader and then hand off boot loading to the Windows MBR if you select the Windows install.
If you install each on separate disks, just make sure that you set the disk with Linux installed on it to boot first in BIOS so that the chain loading functionality works. As I said, Windows can't (or intentionally by design won't) do it. It's possible to make the Windows boot loader see Linux installs, but it requires a lot of registry hacking and stuff, it's just much easier to change the boot order of the disks in BIOS.
That's the way I used to do it, and it would be the way I'd do it now if I still dual booted.
You can always install both on the same disk, but at the end of the day, Grub still ends up dominating the MBR so that chain loading (and single disk dual booting) works. But then you have multiple partitions on the same disk and there's a danger of over writing or losing data if you're messing around / experimenting and pass the wrong command. Sure you can still do the same if you're using two disks.... but it's easier to remember that sda = Windows disk and sdb = Linux disk than sda1 = Windows partition and sda2 = Linux parition.