How to Build an OS With Erlang: A Whistle-Stop Tour of HydrOS
summary
HydrOS is a working multikernel Erlang OS that runs a tiny C node per core with the BEAM on bare metal and most drivers implemented as Erlang-only drivers communicating across nodes via a distro layer and IO-APIC routed interrupts. Images range from ~6 MB (unikernel) to ~80 MB (fat OSv stacks), Ling transpiles BEAM to native, and a live demo kills a core — the system killed a core and recovered, showing real fault containment under multi-kernel architecture.
AI-written summary · about
chapters (24)
- 0:00Introduction
- 1:18Agenda
- 2:07Why build an OS in Erlang
- 4:47Uni Kernel
- 7:48Ramp Run
- 9:04Embedded Platforms
- 10:50HydrOS
- 13:55Challenges
- 15:17Architectures
- 17:04Multi Kernel System
- 18:42Local Kernel
- 22:25Bootloader
- 25:23Two Fundamental Lessons
- 27:11HydrOS Architecture
- 27:57Fault Tolerance
- 29:32Biss
- 30:40Erlang only drivers
- 33:08Window management
- 35:10System design
- 36:06Multi Kernels
- 39:03Unique Kernels
- 40:23Security
- 41:59Testing
- 44:12Thanks
related talks
48mRobotics and Sensors Using Erlang
45mUnderstanding the Role of an OS Kernel by Building One from Scratch
29m"10 Years of Redox OS and Rust"
31mintermezzOS: a teaching operating system
01h 01mNeotron - why write a brand new ‘DOS’ for Arm in Rust?
34mWriting an Embedded Operating System in Rust
01h 34mNeotron - Writing a Single-Tasking ‘DOS’ for Arm Microcontrollers, in Rust
38mIntermezzos
