building an OS (all streams)

Playlist of all my kernel dev streams

Curated by: offlinemark (137 videos)


Currently Playing: πŸŽƒ building my own operating system in c++ (week 92, bitmap allocator)

(detailed timestamps in comments) #livecoding #operatingsystem #coding welcome: https://offlinemark.com/welcome discord: https://discord.gg/XsgpqpVxNu 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. This is the OS which I work with in all of my streams. 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. Eventually I will start writing my own OS when the time is right! If this resonates with you, please subscribe and I'll see you in a stream :) 00:00:00 Stream introduction with Halloween vampire costume and setup 00:04:01 Overview of build system and kernel/unit test structure 00:06:36 Explanation of bitmap allocator goals and unit testing approach 00:24:24 Adding num_free_frames method for better test validation 00:32:01 Writing comprehensive allocation and deallocation unit tests 00:42:55 Implementing assertion handling and debugging infrastructure 01:06:20 Setting up exception handling in unit tests using catch2 01:19:07 Testing bitmap allocator with non-contiguous memory regions 01:39:05 Refactoring and renaming to bitmap frame allocator 01:53:55 Adding alignment assertions and math utility functions


Tracks in this Playlist