runtimejs / runtime

[not maintained] Lightweight JavaScript library operating system for the cloud
http://runtimejs.org
Apache License 2.0
1.93k stars 128 forks source link

Parts to the userland? #36

Closed gp7485451 closed 9 years ago

gp7485451 commented 9 years ago

The initrd should have the ability to run programs on the real root file system and be able to modify files on the real root file system. This will make it possible to cp, mv, rm, rmdir and cd in the root. Also with this possible, the system can tell the kernel to mount other file systems other then root. Also try to nail it with adding a basic login system that is triggered on start up when it is on actual root file system. And you can possibly make a window manager in js by accelerating the ability of "vga.js" to being able to tell the kernel to light up specified pixels on the screen based on simple coordinates. Also try to make it a setting for the program to be isolated in the java script, like isolate("true") on some part of the program, this will make child processes possible.

iefserge commented 9 years ago

Hi, not sure about window manager, but other ideas are cool :) As for the root file system, it's a bit different because system should be able to boot without any writeable filesystems at all, for example when machine doesn't have any hard drives. The ability to mount other fs-es is nice. Programs are isolated by default so isolate setting should not be necessary. Thank you and happy holidays!

piranna commented 9 years ago

Shouldn't this things be discussed outside of runtime.js? It's main focus is to build a general purposse OS kernel, so I think think issues are out of scope...

iefserge commented 9 years ago

File system (at least abstract part vfs, which is interface besically) could the the part of kernel as well. Do we want to move everything into separate modules and let users decide what interface to use? It's a hard question.

piranna commented 9 years ago

+1 to external modules. With FUSE, CUSE & BUSE, everything can be done in Javascript as external modules.