Skip to content
This repository has been archived by the owner on Feb 28, 2023. It is now read-only.

Consider a user-space emulator #64

Open
moosingin3space opened this issue Aug 4, 2018 · 4 comments
Open

Consider a user-space emulator #64

moosingin3space opened this issue Aug 4, 2018 · 4 comments

Comments

@moosingin3space
Copy link

A user-space emulator for Linux, etc, would be very useful, as it would enable one to develop applications for Nebulet without requiring a fully-virtualized Nebulet instance.

@levex
Copy link
Member

levex commented Aug 4, 2018

This might be of your interest, although it doesn't fully answer your question: https://github.com/cervus-v/cervus

@lachlansneff
Copy link
Contributor

Decent idea. Maybe it'd be a good idea to move the wasm compilation into a separate crate so it can be used by something other than nebulet.

The main issue here is that, when it's fully developed, the nebulet environment will be quite alien compared to linux/windows/etc. To emulate nebulet would essentially require running nebulet, itself, in user-space.

Actually, it would be feasible to separate the kernel part of nebulet and the environment part of nebulet. Nebulet would then turn into a wasm platform that could be run in any environment.

@moosingin3space
Copy link
Author

@lachlansneff in the link provided by @levex, there are references to a CommonWA experimental specification for non-web WebAssembly. I have no idea if this has any traction.

Alternatively, maybe something like CloudABI (capability-oriented POSIX-like) could be a starting point for an environment for nebulet?

@lachlansneff
Copy link
Contributor

I'm familiar with the CommonWA specification. It's an interesting idea, but I think it's destined to fail, at least while wasm is not fully realized. It should be discussed more though.

Having a standardized api for non-web wasm would be a good idea.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants