26.7. Extensible virtual machines

The final form of extensibility that we will consider is in managing the services that are offered by a programming language runtime environment such as the Java Virtual Machine. There are many conceptual analogies between an OS and such a system: both are involved with presenting application programmers with an abstraction over the underlying facilities of a machine and in providing some form of isolation between its components. They differ in that the interface provided by software-based VMs is generally offered at a higher level, for example in terms of a bytecode instruction set with operations for method invocation, object allocation and so forth rather than for manipulating words in memory. The JVM has ...

Get Operating Systems: Concurrent and Distributed Software Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.