This question already has answers here:
How Java Virtual Machine can work on system without virtualization support?
(6 answers)
Closed 5 years ago.
In Windows 10, the VirtualBox can not create a virual machine (ubuntu).
As you know,i need to change VT -x disabled to VT -x enabled in the BIOS.
My question is why the Java virtual Machine(JVM) is working correctly when VT -x was disabled.
And Thanks a lot.
Short answer: the Java virtual machine doesn't use VT-X.
VT-X is an extension that makes it much more efficient to run a virtual machine using the Intel instruction set on a hardware machine using the Intel instruction set. Since both the real and virtual instruction sets are the same, there are a bunch of performance optimizations you can make if the hardware supports it.
The Java virtual machine runs Java byte code on your real instruction set, typically using just-in-time compilation. Since the instruction sets are not the same, VT-X is not generally useful to a JVM.
Related
I have a windows 10 host operating system that supports virtualization. Next, I have an Ubuntu 16.04 virtual machine I created using virtualbox. For development purposes, I need to create a virtual machine inside my guest Ubuntu virtual machine. Unfortunately, I can't enable VT-x option in my guest Ubuntu machine to create a create a virtual machine inside my Ubuntu guest. Any information on how enable VT-x option on my virtual box inside my virtual Ubuntu machine would be appreciated.
Edit: I had that this may be accomplished through PCI Passthrough for VirtualBox. If so please detail how.
Lastly, my problem is similar to this guy's but with exception I can't seem to create an UBuntu32bit box.
Any information on how enable VT-x option on my virtual box inside my virtual Ubuntu machine would be appreciated.
You simply CAN'T.
VT-x is a hardware capability:
In 2006, both Intel (VT-x) and AMD (AMD-V) introduced limited hardware virtualization support that allowed simpler virtualization software but offered very few speed benefits. Greater hardware support, which allowed substantial speed improvements, came with later processor models.
Since VT-x requires hardware capabilities to work, there's no way for the "outer" virtual machine in your nested VMs to provide that capability to the "inner" VM. The "outer" VM doesn't have any actual hardware.
If you have to run a VM inside your VM that requires some of the capabilities that VT-x provides - such as the ability to run a 64-bit OS - you can try QEMU for the "inner" virtual machines. It'll be slower since it's an emulator and not true virtualization, though.
Suppose in my pc I have Ubuntu as Host OS. Now I installed a Virtual Machine say VirtualBox (hypervisor) and then deployed a centos and a redhat os inside that as guest OS.
Suppose CentOS and redhat has 2 processes running and Ubuntu is running 3 processes. So following are my questions:
There are how many processes that Ubuntu is having?
Is there any difference between GuestOS and HostOS processes?
If all guestos runs as a process then they will get less time as compared to other process running on host os.
Please clear my doubts here.
Thank you.
Well let me clear your doubts,
First of all there aren't any specific number of process for an OS, its called as cores or threads, technically you can define how many cores or threads you want to use on your virtual machine and it depends on the system configuration you use.
Secondly Guest OS is what you have created in the virtual machine and host is what your laptop or pc actually run. Host OS uses the actual hardware for the working whereas the Guest OS uses the virtual hardware like number of cores and type and size of hard drive defined by the user while adding a virtual machine.
Third, as I mentioned earlier Guest and Host OS works on the configurations used by you, if you user higher amount of cores/ threads in setting your virtual machine the Guest OS will get higher speed.
Ideally the virtual machines are used to test and create some functionality of the Operating Systems without affecting the internal OS, so you can think of it as a your parents house where you can live and grow but at the end you cannot go away from the fact that their contribution is more and so you cannot go beyond their features without leaving it and making your own home.
Linux operating systems are multi-threaded operating system. The host OS would consider virtual box as a thread. You can define number of cores and virtual hard disk size for guest OS by using virtual box.
Since virtual box runs in separate thread and other operations of host OS runs in separate threads, there would be less effect on speed of processing. But I've observed big variances in processing speed in systems which have low memory. Each and every thread needs specific allocation of memory for its smooth operation. So systems having more than 2 GB RAM managed virtual box very well.
I received a rather puzzling question from my lecturer about Docker after doing a presentation on the differences between docker.io and virtual machines. I told him that the main purpose of docker.io is to deploy software applications without the need of a virtual machine's hypervisor.
The question is: Is it possible for Docker to deploy images with CentOS as base to several servers with no OS installed?
Docker uses an existing OS kernel that it makes available to the containers, so : No, it cannot run on "bare-metal", you need an underlying OS to provide the kernel.
But it does not have to be CentOS to run CentOS-based containers (as long as it uses a CentOS-compatible kernel).
In addition to that, the docker software itself needs some userland utilities to run, too.
What's the difference between process virtual machine with system virtual machine?
My guess is that process VM is not providing a kind of an operating system for the whole application for that OS, rather providing an environment for some specific application.
And system VM is providing an environment for an OS to be installed just like VirtualBox.
Am I getting it correct?
Another question is the difference between the two different implementation of system VM: hosted vs. stand-alone.
I'm a beginner studying OS, so easy and understandable answer would be greatly appreciated :)
A Process virtual machine, sometimes called an application virtual machine, runs as a normal application inside a host OS and supports a single process. It is created when that process is started and destroyed when it exits. Its purpose is to provide a platform-independent programming environment that abstracts away details of the underlying hardware or operating system, and allows a program to execute in the same way on any platform.
A System virtual machine provides a complete system platform which supports the execution of a complete operating system (OS),Just like you said VirtualBox is one example.
A Host virtual machine is the server component of a virtual machine , which provides computing resources in the underlying hardware to support guest virtual machine (guest VM).
The following is from http://airccse.org/journal/jcsit/5113ijcsit11.pdf :
System Virtual Machines
A System Virtual Machine gives a complete virtual hardware platform with support for execution
of a complete operating system (OS).
The advantage of using System VM are:
Multiple Operating System environments can run in parallel on the same piece of
hardware in strong isolation from each other.
The VM can provide an instruction set architecture (ISA) that is slightly different from
that of the real machine
The main draw backs are:
Since the VM indirectly accesses the same hardware the efficiency is compromised.
Multiply VMs running in parallel on the same physical machine may result in varied
performance depending on the workload imposed on the system. Implementing proper
isolation techniques may address this drawback.
We've physical machine on which several virtual machines are installed using vm player. Now we are trying to install tool on one of these virtual machines, the tool require vm player, so we installed vmplayer 4.0.0 on the virtual machine. But the vmplayer gives error while installing tool like "Virtualization is incompatible with long mode on this platform. Without long mode support the virtual machine will not be able to run 64 bit code.
The visualization option on the physical machine is already enabled.
Any help on this.
I managed to get long mode working in Vmware by uninstalling Virtual PC.
No nesting or something, it simply started working.
I don't think it's possible with VMWare Player on the host since the VT is not virtualized.
According to http://www.virtuallyghetto.com/2011/07/how-to-enable-support-for-nested-64bit.html?m=1
you could do it with VMWare vSphere 5