This week's book giveaway is in the Reactive Progamming forum. We're giving away four copies of Reactive Streams in Java: Concurrency with RxJava, Reactor, and Akka Streams and have Adam Davis on-line! See this thread for details.
I understand a Virtualization software sits on top of an already installed OS like windows or linux. And after installing Virtual Box(which I believe is freely available) I can install other OS inside virtual box. Correct me if I am wrong.
If correct, how do we normally install other OS inside Virtual Box? Through CDs or image files or...?
Most modern Intel and compatible x86 CPUs have special support for virtualization. A program like VirtualBox emulates hardware, as Joe already said, using that special support from the CPU.
VirtualBox is indeed available for free. You van install it and then you can create a new virtual machine, including a virtual harddisk (which is just a big file on your actual harddisk). Then you can install an operating system on that virtual harddisk, by mounting a CD or ISO file in the virtual machine and starting it up. VirtualBox lets you configure many things, for example how much memory and what hardware should be made available to the virtual machine.
You can use it, for example, to try out a new operating system, or to have a separate system to test things out.
Beware that the performance of the operating system in the virtual machine is lower than when you have the same OS installed natively, because everything goes through an emulation layer. For high-performance applications, especially games with heavy 3D graphics, virtualization is not very well suited.
At the company where I am currently working, IT Support has a whole bunch of servers on which we can create virtual machines. (We use VMware there instead of VirtualBox). We have many virtual machines with different operating systems and different versions of the products that the company is making. We use the virtual machines to test all those different combinations. One thing that is very convenient is that you can make snapshots, so you can first install an OS and other software and then make a snapshot of the virtual harddisk. Later you can go back to that snapshot, so that you quickly have a system in a well-defined state, to run tests on.
When I started using Virtualbox 5-6 years ago, one feature of Virtualbox that really impressed me was that 64-bit guest OSes could be installed on 32-bit host OSes as long as the host CPU was 64-bit. It's not so relevant nowadays since everything is 64-bit and stabilized for it, but back then 32-bit OSes were common.
posted 4 years ago
Thank you all. I do not have a 64-bit machine yet but I am planning to get one and try my hands at this. Should I seek for specifications that my machine support virtualization? What is Virtualization support on BIOS?
Akhilesh Trivedi wrote:Thank you all. I do not have a 64-bit machine yet but I am planning to get one and try my hands at this. Should I seek for specifications that my machine support virtualization? What is Virtualization support on BIOS?
A 64-bit CPU is not mandatory. If you have a 32-bit CPU with say Windows 7 32-bit installed, you can still install Virtualbox on it and then install any other 32-bit OSes - such as Ubuntu 32bit - in the VMs.
If you're going for a new machine, all modern processors like i3/i5/i7/AMD FX series support it. In fact, they've supported it from 7-8 years ago. Avoid Intel Atom.
Having more cores and high memory is good too.
Virtualization can be enabled or disabled from some BIOSes. I don't think BIOS support will be an issue; they've supported it from a long time. At worst, the flag may not be available in BIOS settings, but that doesn't mean virtualization itself is not available.
posted 4 years ago
Can I have my guest OS run a service say Tomcat and can I hit it from host OS(windows) say a browser hitting the Tomcat URL:Port(inside guest)?
Akhilesh Trivedi wrote:Can I have my guest OS run a service say Tomcat and can I hit it from host OS(windows) say a browser hitting the Tomcat URL:Port(inside guest)?
Yes, there are multiple ways in which services on guest VMs can be exposed to the rest of the network. They're available from the VM's Settings > Network page.
I typically set it to "Bridged Adapter" and select the host's network interface which is already connected to LAN.
The result is that the guest VM appears like any another machine on the network, and is reachable from any machine on the network, not just the host.
If you want it reachable only on host, then NAT or Host-only adapter is more suitable.