Skip to content
/ JsOS Public
forked from runtimejs/runtime

Операционная система на JavaScript | Operating system written in JavaScript

License

Notifications You must be signed in to change notification settings

JsOS-Team/JsOS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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%