Comments (3)
Am I correct in thinking that parts of this project libjs, libaio, libsys etc. is to replace the C++/V8 dependencies from Node.js?
Yes, I am planing to rewrite all C/C++ parts, so no C/C++ dependencies, plus, you will be able to run it on any JS runtime. Even in browser (if you emulate UNIX system calls). So, it won't replace just C++/V8/Node.js dependencies, but also libc
and libuv
.
Can some of these modules be dropped into Node currently? Meaning could I use your fs library written in JS, in Node right now?
Yes, you can use fs
module already here it is here it is, note that it dependends on libjs
, which is a wrapper around system calls. In turn, libjs
(you can find it here) has a single dependency process.syscall
function, which your JavaScript environment has to provide. For Node.js, libsys
package implements the syscall function, you can simply attach it to process
global, like so.
(Actually, there is also an asynchronous syscall function process.asyscall
, used for asynchronous file system operations, but that is a separate topic of its own. For a toy project, you can just create a fake one from the synchronous process.syscall
.)
See this for fs
module status.
When you use the term exokernel, are you using it interchangeably with unikernel?
I use it very vaguely as JS running in kernel space, but it is long way to there yet...
Would i need to use en emulator or some sort of virtualization to run jskernel?
When it is ready, I imagine it would be Linux + JS runtime + jskernel (FULL.js)
.
Eventually, though JS runtime that emits machine code can be itself written in JS and one of the reasons to run it in kernel space is of course to write some hardware stuff in JS, i.e. parts of Linux kernel.
So, in the very distant future I imagine it will be just JS running on bare metal.
from jskernel.
@streamich thanks for the information. Are you still planning on using an interpreter or compiler written in C/C++ or are you planning on writing the engine in Javascript too? Reading through the various README's it looks like that's what your F1
project is supposed to be. So it could look like
linux + F1 runtime + jskernel
?
from jskernel.
Yes, but F1 is long way to go, first there is still a lot to do to get the first version of jskernel out.
from jskernel.
Related Issues (3)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jskernel.