building an OS (all streams)

Playlist of all my kernel dev streams

Curated by: offlinemark (137 videos)


Currently Playing: building my own OS in c++ (week 127, kernel bump allocator)

#livecoding #operatingsystem #coding welcome: https://offlinemark.com/welcome discord: https://discord.gg/P6zQBsD2ng Welcome! I’m an aspiring systems programmer. Professionally, I used to work in infosec, but now I work on music production software & hardware. I stream OS/kernel development every week for 2 hours. (I’ve done this for over 75 weeks in a row! Sundays 10a-12 ET) From February 2024 to May 2025, I streamed myself doing all the labs for MIT’s old Operating Systems Engineering course (6.828 (2018)). Through doing this, I became very familiar with JOS, which is the x86 OS used for the course. I had almost no experience with OS development when I started, although I did have much experience with programming and low level concepts. I did the coursework because I wanted to write my own OS, but felt I wasn’t ready. Now, from May 2025 to present, I’m pursuing my own learning agenda with OS development, and starting my on own OS. If this resonates with you, please subscribe and I'll see you in a stream :) 00:00:00 Start 00:01:30 Today's topic: relocating kernel buffers out of the kernel ELF binary 00:02:07 Explaining the current virtual address space layout with phys map and kernel regions 00:04:16 Static allocation philosophy: compile-time fixed buffers and trade-offs 00:07:48 The core problem: Limine bootloader's -2GB constraint risks exhausting kernel space 00:12:09 Solution design: bump allocator placed just above the phys map 00:14:03 Coding begins: computing the phys map end address as the bump allocator start 00:22:49 Implementing the bump allocator structure and allocation logic 00:41:29 Implementing the per-page physical frame allocation and virtual memory mapping loop 01:00:02 Testing the dynamically constructed kernel object and analyzing binary size changes


Tracks in this Playlist