4 ms·
To be pedantic for a moment... > You can't use Go to write a kernel ... Not a production kernel, but MIT did use Go to "study the performance trade-offs of us
by SirGiggles 2y ago
To be pedantic for a moment...
> You can't use Go to write a kernel ...
Not a production kernel, but MIT did use Go to "study the performance trade-offs of using a high-level language with garbage collection to implement a kernel" [1]
There is also gVisor [2] which implements, as best as I can describe, a kernel in user space. It's intent is to intercept syscalls made in containers and to redirect its execution in a sandbox.
> ... program a microcontroller ...
I'm not sure if one would classify this as a microcontroller, but USB Armory did write a, iirc, Go compliant runtime for bare metal ARM and RISC-V [3].
There is also TinyGo [4] with the following listed microcontroller support [5]
[1] https://github.com/mit-pdos/biscuit https://github.com/mit-pdos/biscuit
[2] https://gvisor.dev/ https://gvisor.dev/
[3] https://github.com/usbarmory/tamago https://github.com/usbarmory/tamago
[4] https://tinygo.org/ https://tinygo.org/
[5] https://tinygo.org/docs/reference/microcontrollers/ https://tinygo.org/docs/reference/microcontrollers/