There are many ways to achieve a Dual-OS solution. Here are 6 potential solutions.
Classic dual-boot. Requires reboot to change systems generally not consumer-friendly.
S3 sleep+Memory juggling for 4-second (or less, according to my contacts) switch-over. One engineer I spoke to told me they can do it without partitioning memory and in sub 4-seconds using SSD and some tricks.
Dalvik Runtime solution (running concurrently on top of Windows) e.g. Bluestacks, Myriad Alien (Myriad is the solution used in the Sailfish OS on the Jolla Linux smartphone.)
A ‘virtual box’ software hypervisor on an existing OS. E.g. Linux and Virtualbox with Android and Windows on top of that. Somewhat inefficient and, given the amount of lines of OS code required, probably not the most secure solution..
A fully virtualized dual-OS system running concurrently on a Hypervisor which has direct access to CPU features such as VT-x. (E.g. DuOS from AMI. See below.)
Dual-CPU system (a-la Transformer Book Trio.) Expensive but possibly the neatest solution. (Imagine a Core CPU with Atom or ARM CPU on one system.)