3 ms·
> More seriously ... can someone explain the point of this? The author's bio says "Writes kernels for fun", so that may be the primary motivation. > The brows
by follower 5y ago
> More seriously ... can someone explain the point of this?
The author's bio says "Writes kernels for fun", so that may be the primary motivation.
> The browser (JS) environment already more or less defines a virtual machine already ... why would you overlay that abstraction with yet another semantically very similar abstraction?
I had assumed that a possible motivation may have been to use WebAssembly in a non-browser hosted environment but that doesn't seem to be a specific motivation in this situation--but it could be in another situation.
> If you want to play with "kernel" concepts, why would you do this inside a browser rather than on an actual machine (or even a host-supported VM)?
I think the key motivation in this situation is explained in this quote from the "VI. The need for code compatibility between freestanding and hosted environments" section:
> As such we can make up for the shortcoming of the freestanding environment by making the code as much platform-independent as possible. This allows for a rigorous stress-testing and debugging of shared code via standardised, powerful and robust tools in the hosted environment, and safe deployment of this verified code on freestanding platforms.
So, in brief, this seems partially motivated by the fact that portability of code improves its debug-ability due to the ability to run it in an easily instrumented environment in addition to the original standalone environment.
And partially motivated by portability being a function of both runtime environment and compilation toolchain--the latter which seems to have been a factor here with lack of custom section support in the object format.
Thus, rather than being a desire to "play with 'kernel' concepts" in a browser, this seems motivated by improving portability of existing code written to play with kernel concepts in a more standalone environment.