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
The binaries SubstrateVM generates still need a linker, for references to libraries and relocation of symbols. I think of those as coming from the operating system. We rely on the OS for things like thread creation, mutexes and condvars, etc. How much "without an operating system" are you thinking of?
@ashtonhogan, although we currently do not support it, conceptually this is quite possible. One could take a bare-metal C library like newlib and customize the linking step of our image building to output a bare metal executable that would run on a system without OS. Now if you combine that with the ongoing efforts to have a decent ARM64 backend for Graal this could take an interesting direction.
Now if you combine that with the ongoing efforts to have a decent ARM64 backend for Graal this could take an interesting direction.
@olpaw My thoughts exactly. It would be awesome if I could take my ARM device and skip all the fuss with OS, etc and just control hardware directly.
Even better, if the same thing could be applied to arduino so that I can do the same for many more input and output devices in a minimal fashion (no OS every time).
It seems there are some cases where the OS is just excess baggage. Also, many devs want to code in the language they're most comfortable with and would like access to these devices but are perhaps deterred by the learning curve of learning the low-level aspects.
This meme may come to mind:
I just wanted water
If this feature were carried out to completion, I can see this being key in the IoT world especially. You don't have to cater to every single input and output device btw. Let the market participate and provide their own libraries. (compiled with or without graal - option to leave makes people less likely to leave)
Is it possible to place compiled binary into
address 0
and execute it without an operating system?The text was updated successfully, but these errors were encountered: