Welcome to JavaDevices!
JavaDevices is the home for an open source project called Jem/OS. Jem/OS is a real time Java operating system designed for embedded systems. It focuses on flexibility, performance, and robustness.
The Jem system architecture consists of a set of Java components executing on a JVM running in the Linux kernel. The Java components are loaded into domains, verified, and translated to native code. Jem replaces all of the functionality found in the traditional glibc based user space of embedded Linux with Java components. User space itself is replaced with virtual JVM's or domains. The Java components are designed to work with the Linux kernel just like glibc is. Thus, the Linux kernel does what it is good at, everything else is done in Java, and the result is a compelling platform.
Traditionally, Linux bases it's protection mechanisms on MMU-provided address space separation. Protection in Jem is solely based on the type safety of the Java bytecode. Everything runs in a single address space, the Linux kernel address space. Since Jem has no need to support JNI, a major security hole in traditional Java implementations is eliminated, and Jem becomes a robust platform from both the security and fault tolerance perspectives.
Jem/OS System Architecture

