I need to install a Linux OS (SuSE or RedHat) on my machine running Windows 7. What is the best way to have a dedicated physical partition or virtual partition?
You need more than one partition. Usually, 3 partitions are fine:
I never experienced a drawback from virtual partitions, but somehow I prefer dedicated partitions.
Basically, if you want to run two different operating systems on the same system, you have two options to achieve this.
A dual boot is a system set-up where the available drive space is divided into multiple spaces with each having its own operating system. The system's boot loader, the piece of software that allows you to boot into your operating system, will have you make an option which operating system you want to boot. With this set-up, every operating system has its own piece of drive space.
This set-up will ask the least of your hardware but will not allow you to run both operating systems simultaneously, you can only boot one at a time.
When you're virtualising hardware to install an operating system on a virtual machine, you're running that machine in a host operating system. Basically, Windows 7 is booted and runs software to emulate a machine on which Linux is installed. Although this allows you to run two or more simultaneous operating systems, it will ask more of your hardware than running one single operating system. Other than that, there are certain (hardware) limitations and compatibility issues you should consider when using virtualisation.
From a performance point of view, a physical installation is preferable to a virtual install. Other factors, such as certain hardware being unavailable to the VM will also impact your decision.
Generally, I use VMs for such things as testing certain things in a clean environment, or development, where a number of machines need to be available (multiple Asterisk installs and so on).