I’ve often wondered how realistic it was to imagine a JVM without an OS. There have been attempts to create a full-Java OS (Sun’s own JavaOS, JNode, JOS, JX, …) and I recall that when Java was first introduced, Sun promised that there would be Java CPUs that would natively run bytecode. Results have been quite disappointing so far, even Sun abandonned its own JavaOS project, and attempts to optimize bytecode execution at the CPU level have been limited to mobile platforms.
I discovered today that there is a project at Sun that takes the virtual approach. Instead of trying to create a full-blown Java OS, the Maxwell Project aims at creating a JVM that can run directly as a guest under a hypervisor without the need for a guest OS:
A Virtual Machine Monitor, or hypervisor, e.g. Xen, manages the concurrent execution of several guest virtual machines on a single computer. Guests are typically traditional operating systems but may be any system that conforms to the API exported by the hypervisor. We define a Java Guest to be an implementation of a Java Virtual Machine (JVM) that runs directly on the hypervisor API without the traditional operating system layer.