You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jul 3, 2020. It is now read-only.
__runtime.js__ is an open-source library operating system for the cloud that runs JavaScript, could be bundled up with an application and deployed as a lightweight and immutable VM image.
5
+
__runtime.js__ is an open-source library operating system (unikernel) for the cloud that runs JavaScript, can be bundled up with an application and deployed as a lightweight and immutable VM image.
6
6
7
7
It's built on [V8 JavaScript engine](https://code.google.com/p/v8/) and uses event-driven and non-blocking I/O model inspired by [Node.js](https://nodejs.org/). At the moment [KVM](http://www.linux-kvm.org/page/Main_Page) is the only supported hypervisor.
8
8
9
+
It tries to be compatible with npm module ecosystem and supports some of the Node.js API.
10
+
11
+
_WARNING: project is in development and not ready for production use._
12
+
9
13
### Installation
10
14
11
15
First thing is the command line tool `runtime-cli`, it will add `runtime` command to the shell. Type `runtime` to get full usage help.
@@ -14,7 +18,7 @@ First thing is the command line tool `runtime-cli`, it will add `runtime` comman
14
18
npm install runtime-cli -g
15
19
```
16
20
17
-
Make sure QEMU VM is installed, so you can test/debug applications locally.
21
+
Make sure QEMU is installed, it enables running applications locally.
18
22
19
23
```
20
24
brew install qemu # OSX
@@ -33,25 +37,25 @@ npm install runtimejs --save
33
37
echo "console.log('ok')" > index.js
34
38
```
35
39
36
-
Run project locally in the QEMU VM:
40
+
Run project locally in QEMU:
37
41
38
42
```
39
43
runtime start
40
44
```
41
45
42
-
Or let it watch directory for changes and restart QEMU automatically:
46
+
That's it, it should start and print `ok` in the console.
47
+
48
+
Optionally you can let it watch directory for changes and restart QEMU automatically:
43
49
44
50
```
45
51
runtime watch
46
52
```
47
53
48
-
WARNING: runtime.js is in development and not ready for production use. Contributions are welcome.
49
-
50
54
## How does it work?
51
55
52
56
There are two main components: operating system kernel and a <ahref="https://www.npmjs.com/package/runtimejs"><nobr>JavaScript library</nobr></a>.
53
57
54
-
The kernel is written in C++ and manages low-level resources like CPU and memory and runs JavaScript code using embedded <ahref="https://code.google.com/p/v8/"><nobr>V8 JavaScript engine</nobr></a>.
58
+
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).
0 commit comments