Skip to content
X. Wang edited this page Jul 17, 2020 · 40 revisions

This is both an operating system completely written in Java and a run-time system for Java applications. It achieve a good performance, and still benefit from the modern software-technology of this object-oriented, type-safe language. It is no longer build on MMU protection but on type safety.

It is based on a small microkernel which is responsible for system initialization, CPU context switching, and low-level protection-domain management. The Java code is organized in components, which are loaded into domains, verified, and translated to native code. Domains can be completely isolated from each other. The architecture allows a wide range of system configurations, from fast and monolithic to very flexible, but slower configurations.

In a monolithic configuration it achieves between about 40% and 100% Linux performance in the 1ste system benchmark and about 80% in the NFS benchmark.

Java OS kernel

This is a Java OS microkernel project. It is written in Assembly, C and Java. It is implemented as an extended Java virtual machine, adding support to the Java system for necessary features such as protection domains and hardware access, along with a number of components that provide kernel facilities to applications running on the computer.

Architecture design

Microkernel with virtual machines OS's

Interface design

GUI and ssh command-line interface

Procedural design

The OS's are running on the virtual machine. The user has the GUI or ssh command-line interface.

Build

Run following command to get the source code:

git clone git://s55969da3.adsl.online.nl/jx/jcore.git --recursive

This is a NetBeans project. It requires Java bytecode compiler.

Run following command to compile:

make

Run following command to clean the old build:

make clean

Contribute

Join us on: Slack Git Server: click here

Clone this wiki locally