sâmbătă, 27 octombrie 2007

Virtualization

Virtualization is an operating system (OS), hosted inside of another operating system, by definition. For example, running Linux, Mac OSX, BSD, Solaris and Windows on the same PC in the same time, hosted by one of them which is installed first and having a virtualization software on it, to share resources, splitting them to create virtual machines !
So, you will have one computer, one host operating system, one virtualization software and other hosted operating systems inside of it.
This technology was first implemented in servers, to split powerful servers in smaller instances for more security and to use them at full potential, making them more efficient. In a servers, efficiency means multitasking and more servers can serve requests better, than just one.
In desktop, virtualization was first available with the introduction of dual core CPU's, then resources could be split between the operating systems and the CPU's started to be powerful enough to host them. Microcodes to allow virtualization were introduced, with the first dual cores available ( ex. Vanderpool, Pacifica(AMD-V) - of Intel and AMD).
Virtualization on desktop is used for learning, security, and maximizing profit, through better server resources management !

Some virtual machines may not support all the features of an hosted operating system, like drivers partially or not at all, 3d acceleration, symmetric multiprocessing(SMP),etc, depending on the software used to create them. This might change with the time, and is worth to search on the creators of virtualization software for more details (there are some links bellow).

Here is a list of virtualization software for different operating systems :

1.List of virtual machines for Linux:

- Cooperative Linux
- FreeVPS
- Linux VServer
- Parallels Workstation
- User Mode Linux
- VirtualBox
- Virtuozzo
- VMware Server
- VMware Workstation
- VMware Player
- Xen

2.Virtualization software, list of virtual machines for Windows :

- Parallels Workstation
- VirtualBox
- Virtual PC 2007
- Virtual Server 2005 R2
- Virtuozzo
- VMware Server
- VMware Workstation
- VMware Player

3.List of virtual machines for Macintosh (MAC) :

- Mac-on-Mac
- VirtualBox
- VMware Fusion
- Parallels Desktop for Mac

4.List of virtual machines for FreeBSD :

- Jail
- Xen(NetBSD)
- VDSmanager

5. Virtualization on Solaris :

- Containers
- Logical Domains .

This are some virtual machines that worth mentioned for now. All have a good working speed for the hosted OS, generally native or near native, depending on your hardware, for example if you have 4 GB of ram, you can split it better and both operating systems will have enough. The amount of ram memory is crucial for this, to work acceptable, otherwise you won't have enough neither for host or the hosted OS..and that's a pain.

Ok, not this being said, comes "the question" :

" What can you do with virtualization ? " ( other than using it for servers )

Good question ! ..?
You can use it to split a PC in 4 and do what otherwise you'd do with 4 individual computers. Technically you can have an entire office in one single PC. The future is bright, for this technology ! And just think further, you'll find plenty of situations where it can be used and is logical to be used, for the sake of power consumption and efficiency !

VMWare on Windows XP64, running Ubuntu Linux 64 bit virtual machine, starting.

Running GNU/Linux Ubuntu 64 virtual machine. Started and good to go, with internet, sound SMP and everything else with no problem.

Virtual machine working with no problems. Everything is working at the same speed, drivers and everything is virtualized in this case.

Above you had the example of VMWare VM(virtual machine) created on windows, hosting the Ubuntu Linux 64 operating system(OS). This was only one example, you can do the same thing with any other OS. You can host Windows inside of Linux, Linux inside of MAC, FreeBSD inside of Linux and so on. I guess you go the idea, of what this means or how can you use this powerful technologies.
In this way you are totally free to experiment and learn more about operating systems and find new alternatives to suit your current or future needs! Think about it, new worlds are at your fingers ;). Good luck !