How can a Java virtual machine work on a system without virtualization support?

If hardware support is needed for virtualization, how can Java virtual machines run on machines without virtualization support? Or is the JVM not a virtual machine?

+3
source share
6 answers

A JVM is not virtual in the same sense as a VirtualBox or VMWare virtual machine. This is a “machine” that implements Java bytecode, not a virtualized version of real hardware.

The modern "virtual machine" was invented a very long time ago for the following scenario:

  • make up a computer such as Knuth MIX.
  • write a computer program that implements a finished computer.
  • run programs

, , . , . JVM, - Java - , .

, , ( ), IBM VM/370. VM/370 " ". , ( ) , , . X86 .

, , - , , ( ). , , , , VM/370 VMware.

+11

,...

: -)

JVM ( ) () VMWare VM ( ).

JVM ( VMM , , x86 Solaris - , Bochs , , DosBox ) , , .

VMWare VMM, , . , , , -, , .

VMWare , . , .

+3

JVM - , . java--.

+1

JVM - Java, , java. , "" .

JVM, , , JVM Java, - , .

+1

, JVM , MAC WINDOWS JVM, JVM JVM, , Mac mac JVM Windows.

, , - JVM. , - (-) - ( ).

+1
source

It should be noted that nothing indicates that the JVM does not (should) have access to HW virtualization. There are notable exceptions, but the poster mentioned refers to, there are several CPs that run Java bytecode initially. Maybe someday Java HAL or TIMI bytecode will become commonplace to turn the JVM into the same class as formalized HW virtualization?

0
source

Source: https://habr.com/ru/post/1726858/


All Articles