Jari OS initially was an attempt to create a new system that operates within files API only with extended operations, include address spaces. The project appeared in 2005. After several months of prototype development, project has to be frozen for several years.
On may 2008, project lead decided to resume work on the project and consider various options for architectural design, as the solution was chosen exokernel architecture design, but this decision was rejected. Microkernel architecture was chosen as a system architecture.
Work on the project sponsored since August 2008 till November 2009.
Once sponsorship has been terminated, the project became a fully independent and was aimed at creating a flexible and scalable platform.
Jari OS uses GNU software for development, as well as the software platform.
Also, the project uses existing free open source code. Source code of the project published under the terms of GNU GPL/LGPL versions 2 and 3.
Jari OS is a flexible platform that can be used to create the final solution. It's a microkernel and multi-service oriented system.
In fact, this is a set of components where each other is implementing a specific functionality, the components interact with each other via RPC (interaction with the microkernel is going through system calls, the microkernel itself doesn't work with RPC protocols). RPC is implemented on top of IPC provided by microkernel.
Components can be classified into several categories: the microkernel, microkernel (system) services, service libraries , drivers (run as services), user libraries. The platform supports POSIX using the services, and libraries, part of the standard implemented in the microkernel (eg, work with threads). Custom applications using a set of standard libraries for all UNIX like systems. As the main applications GNU software used.
Jari OS use an existing source code from free software projects (such as linux kernel and freebsd). Most of the drivers are ported from linux kernel or freebsd as well as some protocols support stuff (SCSI for example). The project native code licensed under GNU GPL/LGPL v2/v3.
Jari OS use GNU development software such as GNU binutils, GNU gcc, GNU make and others.
Development team works as any other free software community and new members are welcome. The project itself can be used in terms of licenses published.
Kernel provide minimal set of functions such as follows:
Jari OS is currently used GNU Grub boot loader that loads kernel, image and core servers and store info in multiboot header that parsed by kernel. After kernel init process, services are running and doing mount of the image (initfs) that contain drivers requered to mount root directory and continue boot process with user servers and other software.