Software Virtual Machines

Aug. 4, 2005
Virtual machines (VMs) are a special subset of virtualized systems. Two of the more popular VMs are Java VM (JVM) and the .NET Common Language Infrastructure (CLI). VMs have the advantage that applications are either interpreted or compiled just

Virtual machines (VMs) are a special subset of virtualized systems. Two of the more popular VMs are Java VM (JVM) and the .NET Common Language Infrastructure (CLI).

VMs have the advantage that applications are either interpreted or compiled just before using using technologies like just-in-time (JIT) compilers. As a result, application code can be checked, controlled, and limited if necessary.

It also makes para-virtualization a process that can be supported by the interpreter or compiler. This approach is of interest to developers like Web designers, where applications may need to migrate to different machines for load balancing.

One new approach in the Java community is being proposed in JSR-121, the Java Application Isolation API. It introduces the idea of isolates. The concept is that each Java application runs inside of an isolate. This is very similar to the ARINC 653 approach to secure single-image OS designs. The isolates run on the same Java Runtime Environment (JRE). The alternative is to place each application into its own JRE.

JSR-121 is designed to be platform-neutral, so the service can be moved to any system that runs a JVM. It also improves scalability and security by providing a controlled, hypervisor-like environment.

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!