We often hear about VPS(Virtual Private Servers) and VM(Virtual Machine), is there any difference between them, or mean the same?
Your question is probably about full system level virtualization:
The term "Virtual Machine" is generally used to describe a technology, while the term "Virtual Private Server" (or "virtual root server", "virtual dedicated server" in some regions) is generally used to describe a product.
"VPS" usually means a server that you rent from a hosting company, together with remote management and such. Here 'virtual' doesn't refer to a specific technology, it merely means that it isn't dedicated hardware. Most VPSes are VMs (often Xen or Linux-KVM), but not always – cheap ones could be container-based (often OpenVZ or FreeBSD Jails).
Note that there are also other kinds of "virtual machines" that do not emulate a whole computer system at all – for example, the Java or .NET runtimes are often called "virtual machines" just because they execute code like a CPU would.
Virtual Machine it means that you have your own workstation were you have to install many software or setup your own server.
it is type of machine like your computer but work like virtual.on Vm you can set lots of server may be public/private/hybride
your OS (operating System) windows,linux..etc -> your VM (Virtual Machine) like Vmware -> installed software/server.
VPS (Virtual Private Server) is an type of your private server were whatever thing has been setup or installed these are done by you.it has acess by you only not for all. which has been install on your VM(virtual machine) or on your hardware which is known as bare-metal.