Skip to content

JsOS-Team/JsOS

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code
This branch is 315 commits ahead, 3 commits behind runtimejs:master.

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
etc
 
 
gen
 
 
js
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

JsOS

JsOS is an open-source operating system (unikernel) written in JavaScript and based on runtime.js.

It's built on V8 JavaScript engine and uses event-driven and non-blocking I/O model inspired by Node.js. At the moment KVM is the only supported hypervisor.

It tries to be compatible with npm module ecosystem and supports some of the Node.js API.

WARNING: project is in development and not ready for production use.

Documentation in progress

Ready ISO image

Download

System requirements

CPU: x86_64
RAM: >128MB

Installation

First thing is the command line tool jsos-cli, it will add jsos command to the shell. Type jsos --help to get full usage help.

sudo npm i -g jsos-cli

Make sure QEMU installed, it enables running applications locally.

brew install qemu           # OSX
sudo apt-get install qemu   # Ubuntu

Getting Started

Clone this repository and install dependencies:

git clone https://github.com/JsOS-Team/JsOS.git
cd JsOS
npm i

Run project locally in QEMU (in the root of the git folder):

jsos start

That's it, operating system should start.

How does it work?

There are two main components: operating system kernel and a JavaScript code.

The kernel is written in C++ and manages low-level resources like CPU and memory, runs JavaScript using embedded V8 engine. Library drives the entire system and manages hardware devices (usually virtualized by hypervisor). Some low-level code written in JS and compiled.

License

I wanna help!

We will be grateful if you help us

Description of folders


Apache License, Version 2.0

Packages

No packages published

Languages

  • C++ 79.8%
  • JavaScript 18.7%
  • Assembly 0.9%
  • Python 0.2%
  • CMake 0.2%
  • C 0.1%
  • Other 0.1%