top | item 45311258

(no title)

linkdd | 5 months ago

> It's even possible to run BEAM on bare metal, (almost?) entirely in place of the normal OS.

How? With a unikernel?

discuss

order

andrewflnr|5 months ago

It's been a while, but I believe so. I think I'm remembering the "Erlang on Xen" project, which seems to be defunct now.

signa11|5 months ago

i would think so, no other option afaik.

toast0|5 months ago

I've built a hobby OS around BEAM... BEAM doesn't require a whole lot from the OS, I built a minimal kernel that runs a single process, which you could consider a unikernel or at least very close. I had originally wanted BEAM in ring 0, but I had a lot of trouble getting started. This way, I can just use a pre-compiled BEAM for FreeBSD and don't have to fight with weird compilation options. Anyway, with x86-32 at least, I can give my Ring 3 process access to all the ioports and let it request a mmap of any address, so the only drivers I need in the kernel are IRQ controllers, timers, and pre-beam console. Once beam is up, console i/o and networking is managed from erlang code (with a couple nifs)